2

私のアプリケーションでは、テーブルビューにフィルター機能があり、フィルターされた結果をテーブルに表示します。共有設定でフィルター処理されたオプション (チェックボックス) を設定したので、次にユーザーがフィルター画面に入ったときにチェックボックスがオンになっているので、テーブルがフィルター処理されたものと、前回フィルター処理のために何をチェックしたかがわかります。

アプリケーションの起動時に、すべてをチェックなし (要件) に設定しましたが、アプリケーションがいつ起動または再開されるかわかりません。アプリケーションがメモリから再開されると、すべてのデータ型が再び初期化されました。アプリケーションが再開されたことを確認するにはどうすればよいですか。アクティビティ onResume に設定すると、アプリケーションがいつ再開されるかだけを知りたいだけで、毎回呼び出されることはありません。

アプリケーションがメモリから再開されたときに何が起こるかわかりません。フィルタは、アプリケーションが起動されたように動作し、すべてをオフに設定します

4

4 に答える 4

1

私がしたことは、私の最初のアクティビティでブール値を作成し、falseを設定して共有設定に保存し、そのフィルタリングを開始したときにtrueを実行したことです。したがって、アプリケーションがメモリに残り、再開しても、それは真のままです。アプリケーションが終了し、起動時に再度起動すると、再びfalseになります

于 2012-09-06T04:43:34.640 に答える
0

私はあなたの質問を正しく理解することはできませんが、私の理解の限りでは、あなたは共有設定を介してユーザーオプションをフィルタリングしています。その場合、プログラムで各オプションの設定を解除/設定する必要はありません。Androidはこれを記憶し、復元します。これらにアクセスしたい場合は、単に呼び出しcontext.getSharedPreferences()て、sharedPreferencesオブジェクトから呼び出しを受け取りましgetBoolean (key,defValue)た。

于 2012-09-04T10:57:47.083 に答える
0

「メモリから再開」状態はありません。再開または作成 (または再開) されます。したがって、アプリケーションロジックを作り直して、onCreate()代わりに自分のものを初期化する必要がありますonResume()

于 2012-09-04T10:46:27.663 に答える
0

onRestart()でチェックボックスを復元できます。つまり、アクティビティは強制終了されず、(手動または Android によって) 停止された後に再開されます。

于 2012-09-04T10:56:25.893 に答える