我发布了一个广播来更新我的小部件并调用它的onUpdate
函数,我可以在日志中看到它,但文本保持不变 - 除了第一次调用onUpdate,创建小部件时。
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
Log.d("WIDGET", "onUpdate");
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_home);
views.setTextViewText(R.id.text, new Random().nextInt() + "x");
Intent intent = new Intent(context, InfoActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
// Get the layout for the App Widget and attach an on-click listener
// to the button
views.setOnClickPendingIntent(R.id.text, pendingIntent);
appWidgetManager.partiallyUpdateAppWidget(appWidgetIds, views);
Log.d("WIDGET", "updated");
}
答案 0 :(得分:0)
您需要在创建时存储appWidgetId,当您想要更新它时。 致电appWidgetManager.updateAppWidget
我不确定为什么partiallyUpdateAppWidget 不行。你可以阅读文档 appWidgetManager.partiallyUpdateAppWidget(appWidgetIds,views);