私のアプリケーションには、(作成時に) 後続の読み込みが行われるアクティビティ UserMenu があります。次回アプリケーションを開いたときに、この画面を再度リロードしないようにしたい - UserMenu 画面の状態をそのまま保存したい。
私はこれを進めてきましたが、実装しなければならないものを見ることができません。値を保存したくありません。Androidでホームボタンを押すと同じ画面を再作成したいだけです。
私の問題について親切に助けてください。
ありがとう
あなたがホームボタンについて言っているように、私によればそれは不可能です。ホームボタンを押すとアクティビティが入り、onPause()
再度開くと入りますonResume()
。フォローしているリンクで提案されていることを行うことができます。つまり、これを実行することは保証されていませんをActvity
使用して要素の値を保存できますonSavedInstanceStateを読んでくださいonSavedInstanceState()
あなたはこのようにすることができます
UserMenu Activity クラスで
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
goToHome();
return true;
}
return super.onKeyDown(keyCode, event);
}
private void goToHome() {
moveTaskToBack(true);
}
したがって、戻るボタンを押すと、アクティビティは破棄されずにホームに移動し、ホームボタンを長押しするか、メニューからアプリを起動すると、アクティビティが再度読み込まれません。
ありがとう
シンプルにするためにアクティビティライフサイクルに従う必要があります。メソッドから関数呼び出しを行ってそれらのデータをロードし、onCreate()
を使用してスタンドアロンクラスにデータを保存し、保存されたデータを表示します。データがすでにロードされているかどうかを判断するだけです。ロードされていない場合はロードします。そうでない場合はロードしません。ArrayList()
onResume()
ArrayList()
onCreate()
ArrayList()