質問

私の活動の1つに、ImageButtonを使用して、クリックするとバックグラウンドリソースを変更するsetBackgroundResource()があります。そのアクティビティでは問題なく動作しますが、そのアクティビティを終了して戻ってくると、ボタンはXMLで設定されたデフォルトの背景に戻ります。ボタンが再度クリックされるまで、バックグラウンドリソースを永続的に何かに設定する方法はありますか?

役に立ちましたか?

解決

画像ボタンの値を静的変数またはSharedPreferencesに保存する必要があります

たとえば、変数を宣言する ジェネラコディセタグプレ

[img]ボタンをクリックします ジェネラコディセタグプレ

また、アクティビティのonResume()で次のことを行います。 ジェネラコディセタグプレ

他のヒント

SharedPreferencesを使用します。

背景を変更する場合: ジェネラコディセタグプレ

または ジェネラコディセタグプレ

など。これにより、現在の背景を説明する文字列がsharedPreferencesに保存されます。

onCreate-Methodに次のように入力する必要があります: ジェネラコディセタグプレ

これにより、「background_nr_x」が元に戻ります。 これで、背景を選択できます: ジェネラコディセタグプレ

注:これにより、アプリが閉じられていても、現在選択されている背景が復元されます。

背景として使用する画像のURL / IDをSharedPreferencesに保存し、アクティビティが作成されるたびに必ず設定してください。それ以外の場合は、XMLファイルで指定された背景が、次回アクティビティが作成されるときに使用されます。

ActivityのonResume()メソッドを上書きする必要があります。 アクティビティまたはボタンで状態(押されているか押されていないか)を維持し、onResume()メソッドでこの状態を確認し、背景を変更します。

次のようなトリックを使用できます: ジェネラコディセタグプレ

または、他の提案として SharedPreferences を使用することもできます>

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top