我的问题是我有一个应用小部件,需要每 32 分钟更新一次。但是,它不会更新文本视图。我将日志条目放在我的 onUpdate 方法中,以查看它是否在 Logcat 上工作,并且我确认方法工作正常,但它没有改变 textview 的值。这是我的代码;应用小部件提供者:
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
// TODO Auto-generated method stub
ComponentName thisWidget=new ComponentName(context,
IzUlasimProvider.class);
int[] allWidgetIds=appWidgetManager.getAppWidgetIds(thisWidget);
for(int id:allWidgetIds){
String now=new SimpleDateFormat("HH:mm").format(new Date());
RemoteViews views=new RemoteViews(context.getPackageName(), R.layout.widget);
views.setTextViewText(R.id.tvWidget,now);
appWidgetManager.updateAppWidget(id, views);
now=null;
}
Log.w("Update","Update Finished");
}
我的配置文件:
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:initialLayout="@layout/widget"
android:minHeight="110dp"
android:updatePeriodMillis="1920000"
android:minWidth="250dp" android:configure="com.izulasim.widget.IzWidgetConfig">
小部件的 AndroidManifest 部分:
<receiver android:name="com.izulasim.widget.IzWidgetProvider">
<intent-filter >
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/widget_config" />
</receiver>
<activity
android:name="com.izulasim.widget.IzWidgetConfig"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
</intent-filter>
</activity>
<provider android:name=".IzUlasimProvider"
android:authorities="com.izulasim.provider.IzUlasim" />