2012-01-31 4 views
2

私はEditTextフィールドとアクティビティ内のチェックボックスを持っています。私が欲しいのは、チェックボックスをオンにすると、EditTextフィールド内に入力されたテキストが保存され、ユーザーがアプリを開くたびに、最後に入力したテキストがまだそこにあることです。Android:EditTextは常に入力されたテキストを覚えています

これはどのように実行できますか?

それは一部のユーザーに関連する情報であるか、おそらく値を格納し、活動の負荷にそれらを盗んし SQLiteデータベースを使用する場合は 共有好みを使用することができますいずれか

答えて

1

は大体、それはあなたがあなたのアプリケーションで覚えたい、簡単なプリミティブオブジェクトの非DBのストレージです。

1

共有優先度を使用すると、テキストを保存します。アプリケーションやアクティビティを起動している間に、テキストを編集テキストフィールドに保存します。

1

OnStop()内のSharedPreferencesを呼び出してコミットし、onCreateで再度呼び出します。このような何か:

private void SavePreferences(String key, String value){ 
SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE); 
SharedPreferences.Editor editor = sharedPreferences.edit(); 
editor.putString(key, value); 
editor.commit(); 
    } 

    private void LoadPreferences(){ 
SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE); 
String strSavedMem1 = sharedPreferences.getString("MEM1", ""); 
String strSavedMem2 = sharedPreferences.getString("MEM2", ""); 
textSavedMem1.setText(strSavedMem1); 
textSavedMem2.setText(strSavedMem2); 
    } 
1

あなたはそれがSharedPreferencesに変更されていますたびのEditTextのテキストを保存するためにTextWatcherを使用して検討する必要があります。次に、アクティビティのonCreateメソッドまたはonResumeメソッドで、保存されたテキストをSharedPreferencesから取り出すことができます。

関連する問題