2
我有一個每天更新1次的android小部件(如providerinfo.xml文件中所述)。 這是,目前,我的onUpdate方法:Android Widget更新TextView文本
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds)
{
RemoteViews rvs = new RemoteViews(context.getPackageName(), R.layout.main);
rvs.setTextViewText(R.id.textviewquote, "we updated! yay!");
appWidgetManager.updateAppWidget(new ComponentName(context, main.class), rvs);
}
然而,我的TextView永遠不會改變。 onUpdate在開始的時候被調用,當widget第一次被創建的時候?那麼如何才能真正改變textview中的文本呢?
感謝
編輯: 提供信息:
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="294dp"
android:minHeight="72dp"
android:updatePeriodMillis="86400000"
android:initialLayout="@layout/main">
和清單:
<receiver android:name=".main" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/appwidgetproviderinfo" />
</receiver>
更新: 該方法的onUpdate()甚至沒有得到調用。有人能告訴我爲什麼嗎?
主要更新:在android 2.3中,onUpdate()方法不被調用,但在android 2.2中,它被調用。我想知道這是否是一個錯誤,或者他們改變了小工具的工作方式。
你在哪裏設置更新頻率?在清單中還是通過AlarmManager? – skyman
見編輯。謝謝! – Peanut
您可以在onUpdate中放入一個日誌,以確保一旦您第一次添加小部件,它就會被調用。 – exception01