Я просто начинаю с разработкой Android, и я создал миленький виджет, который отображает некоторую информацию о моем главном экране. Однако я теперь хочу реализовать Кнопку на своем виджете, который обновляет информацию в моем виджете TextView.
Кто-либо может советовать, как пойти о выполнении этого?
Спасибо
Решено - я могу подтвердить, что активность не требуется, если вы хотите создать кнопку для обновления Android appwidget.
Я смогли реализовать свой класс AppWidgetProvider такой, что он регистрирует Android.appwidgeget.action.appwidget_update actent.Appy.appwidgege_update Intent-Filter с ресивером широковещания в AndroidManifest.xml, который затем пожаровал событие ONUPDate в классе AppWidgetProvider (который в Затем поворот управляет обновленнымЕРервицем).
<!-- Broadcast Receiver that will process AppWidget updates -->
<receiver android:name=".MyWidget" android:label="@string/widget_name">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widget" />
</receiver>
UpdateService в моем классе AppwidGidProvider затем использует Onhandleintent для запуска частного метода Containupdate - который регистрирует событие OnClick с вызовом для SetonClickPendentIntent следующим образом:
// set intent and register onclick
Intent i = new Intent(this, MyWidget.class);
PendingIntent pi = PendingIntent.getBroadcast(context,0, i,0);
updateViews.setOnClickPendingIntent(R.id.update_button,pi);
Вот ссылка на какой-то исходный код рабочего примера, который показывает Как можно использовать кнопку обновления для обновления виджета Twitter:
Кнопка поддерживается в AppWidget, поэтому не уверена, в чем проблема. Посмотрите на этот пример на том, как назначить действия через Views.setonclickPendingIntent (r.id.yourckiew ID, Yourintent);
объект Remoteviews (и, Следовательно, приложение виджет) может Поддержите следующие классы макета:
Framelayout Linearlayout RelativeLayout
и следующие Классы виджета:
Кнопка AnalogClock Chronometer ImageButton ImageView ProgressBar. TextView потомки этих классов не поддерживаются.