0

ユーザーに表示してから保存ボタンを押してほしいTextViewがあるとします。次に、表示ボタンを押して、テキストをeditTextフィールドに入力します。

これが私が試していることですが、機能していません

TextViewから情報を保存するには...

 case R.id.save:


 SharedPreferences firsttunesettings = getSharedPreferences("tune1", 0);
            SharedPreferences.Editor editor = firsttunesettings.edit();
            editor.putString("rh1", rh1.getText().toString());
            editor.commit();

次に、EditTextでデータを表示します...。

 case R.id.display:
SharedPreferences firsttunesettings = getSharedPreferences("tune1", 0);

            rh1.setText(firsttunesettings.getString("rh1", ""));

コードはエラーをスローしません。何もしないようです。どんな助けでも大歓迎です。ありがとう。

4

1 に答える 1

2

あなたはこれを必要とします:

SharedPreferences firsttunesettings = getApplicationContext().getSharedPreferences("tune1", 0);

and

SharedPreferences firsttunesettings = getApplicationContext().getSharedPreferences("tune1", 0);

            rh1.setText(firsttunesettings.getString("rh1", ""));

SharedPreferencesには、アプリケーションのコンテキストが必要です。

残りのコードは私には良さそうです。

編集:次のような一時変数に最初に保存する値を配置してみてください:

String temp = firsttunesettings.getString("rh1", "");その後:

rh1.setText(temp);

投稿したコードは正常に機能するはずなので、アイデアが不足しています。

編集#2:

また、共有設定で使用する変数を次のように宣言します。

private static final String RH1 = "RH1";

次のように使用します。

editor.putString(RH1, rh1.getText().toString());

String temp = firsttunesettings.getString(RH1, "");

これでうまくいくはずです。

于 2013-02-22T01:36:19.367 に答える