アクティビティを変更するときのsetBackgroundResource
-
29-10-2019 - |
質問
私の活動の1つに、ImageButton
を使用して、クリックするとバックグラウンドリソースを変更するsetBackgroundResource()
があります。そのアクティビティでは問題なく動作しますが、そのアクティビティを終了して戻ってくると、ボタンはXMLで設定されたデフォルトの背景に戻ります。ボタンが再度クリックされるまで、バックグラウンドリソースを永続的に何かに設定する方法はありますか?
解決
画像ボタンの値を静的変数またはSharedPreferencesに保存する必要があります
たとえば、変数を宣言する ジェネラコディセタグプレ
[img]ボタンをクリックします ジェネラコディセタグプレ
また、アクティビティのonResume()で次のことを行います。 ジェネラコディセタグプレ
他のヒント
SharedPreferencesを使用します。
背景を変更する場合:
ジェネラコディセタグプレ
または ジェネラコディセタグプレ
など。これにより、現在の背景を説明する文字列がsharedPreferencesに保存されます。
onCreate-Methodに次のように入力する必要があります: ジェネラコディセタグプレ
これにより、「background_nr_x」が元に戻ります。 これで、背景を選択できます: ジェネラコディセタグプレ
注:これにより、アプリが閉じられていても、現在選択されている背景が復元されます。
背景として使用する画像のURL / IDをSharedPreferencesに保存し、アクティビティが作成されるたびに必ず設定してください。それ以外の場合は、XMLファイルで指定された背景が、次回アクティビティが作成されるときに使用されます。
ActivityのonResume()
メソッドを上書きする必要があります。
アクティビティまたはボタンで状態(押されているか押されていないか)を維持し、onResume()
メソッドでこの状態を確認し、背景を変更します。
次のようなトリックを使用できます: ジェネラコディセタグプレ
または、他の提案として SharedPreferences を使用することもできます>