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 に答える