0

我有一个显示图像的简单 appWidget。在配置活动中选择图像,并通过删除视图更新小部件。这是在执行以下代码的按钮上完成的:

Intent intent = new Intent(context, KidDialog.class);
intent.setData(selectedImage);

PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
widgetView.setOnClickPendingIntent(R.id.centerBrd, pendingIntent);

widgetView.setImageViewUri(R.id.widImg, selectedImage);

appWidgetManager.updateAppWidget(appWidgetId, widgetView);

Intent resultValue = new Intent();
resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
setResult(RESULT_OK, resultValue);
finish();`

如您所见,它还看到图像的 onClickListener 的 PendingIntent。我认为这与这里无关。无论如何,这工作很棒。该小部件完全符合我的要求。直到我重新启动设备。

当我重新启动小部件时,将使用来自 apk 中 xml 的默认视图加载。它不会保留初始配置的映像更新。我的问题是如何在配置活动期间使用更新的视图集重新启动后重新加载小部件?我还需要重置 onClick Pendingintent,但我会保存它以备后用。我希望它们无论如何都是相关的。所以我没有想法。

4

1 回答 1

0

我不确定最佳答案,但是当您收到按钮推送的意图时,您可以将图像名称保存到 SharedPreference。

当您创建小部件时,检查 sharedpreference 的值并使用它来恢复所需的图像..

于 2010-08-16T10:02:54.763 回答