3

私は sharedPreferences についてすべて知っていますが、これと混同しています。私は物事をsharedPreferencesに入れることを知っています、あなたはこれをします:

これがアクティビティ A だとしましょう。

SharedPreferences preferences=getSharedPreferences("numbers",MODE_PRIVATE);
SharedPreferences.Editor edit=preferences.edit();
String a=ed.getText().toString();
String b=ed1.getText().toString();
editor.putString("num1",a);
editor.putString("num2",b);
editor.apply();

アクティビティ B でそれを取得するには、

SharedPreferences preferences=getSharedPreferences("numbers",MODE_PRIVATE);
String numberOne=preferences.getString("num1","");
String numberTwo=preferences.getString("num2","");

次に、アクティビティ B の textView を次のように設定できます。

TextView both;
both.setText(numberOne + " " + numberTwo);

しかし、アクティビティ C の sharedPreferences にあるものを編集したい場合はどうすればよいでしょうか?? 私はそれを行う方法とこの記事をここでオンラインで探していました

http://codetheory.in/android-application-data-storage-sharedpreferences/

もう一度呼び出すだけでよいと言われましたが、そのように異なる文字列値を使用して

アクティビティ C:

SharedPreferences preferences=getSharedPreferences("numbers",MODE_PRIVATE);
SharedPreferences.Editor edit=preferences.edit();
String c=ed3.getText().toString();
String d=ed4.getText().toString();
editor.putString("num1",c);
editor.putString("num2",d);
editor.apply();

これが完了すると、アクティビティ B の add が 12 ではなく 29 に更新されます。しかし、それが私の問題であり、sharedPreferences を編集しません。これを行う別の方法はありますか?アクティビティ B の追加を更新しないのはなぜですか?

4

2 に答える 2

0

おそらく、値は Shared Pref に正しく保存されますが、テキスト フィールドの値は更新されません。これで確認できるかもしれません。

于 2016-01-27T15:45:48.543 に答える