2011-09-13 8 views
0

私はこのリストビューにインターネットからダウンロードされたデータが入力されています。 したがって、onCreate()メソッドでは、非同期タスクを実行して情報をダウンロードし、リストビューに配置します。Androidでの状態の保存

saveInstanceState()メソッドの実行中にリストがダウンロードされたかどうかにかかわらず、ユーザーがホームボタンからアプリを取り出して戻るかどうかをブール値にしました。ただし、ユーザーが戻るボタンを使用してプログラムを終了すると、saveInstanceState()メソッドは実行されません。

リストをもう一度ダウンロードしたくない場合は、以前にダウンロードされたかどうかをどうすれば確認できますか?

答えて

0

Activity.onBackPressed()をオーバーライドして、そこに状態を保存することもできます。

また、あなたはアプリケーションのライフサイクルを超えてデータを永続化する場合は、バンドル外にそれを格納する必要があります

void onPause() { 
    if(isFinishing()) { 
     // save your state. maybe you'd be better off with using preferences (or other things suggested by people here), so you don't need to worry about the instance state. 
    } 
} 
+0

ていますか?私はそれが確信していないよ – Spidy

+0

うーん、私は分からない。私はあなたがそれを試さなければならないと思う。ところで、私はちょうどこれのために別のアイデアを持っていましたが、私は上記の答えに入れます。 – Macondo2Seattle

0

を行うことができます。

あなたoptionsです:

(デバイス上)

データを保存するためのプライベート内部ストレージファイルをお勧めします。 があなたの活動に何が起こるか気づき、nesseceray場合に反応を取得するためにコールバックを使用して、ライフサイクルコールバックに http://developer.android.com/guide/topics/fundamentals/activities.html

の実装:このうち

1

チェック。

あなたは、キーと値のデータを格納するを共有プリファレンスを使用することができます:あなたは、アプリケーションが再起動される際に、バンドルがロードされることを確認してください http://developer.android.com/guide/topics/data/data-storage.html

関連する問題