Android:文字列値が共有の好みになっていません
-
09-10-2019 - |
質問
ブール値と文字列値を共有する好みを作成しました。ブール値は別のアクティビティで得られます。しかし、文字列の場合、デフォルト値のみを取得しています。
home.class
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor spe = prefs.edit();
spe.putBoolean("flag", true);
spe.putString("user", "hello");
spe.commit();
welcome.class
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
boolean flag= prefs.getBoolean("flag", false);
String user=prefs.getString("user","Nothing");
TextView tv = new TextView(this);
tv.setText("Flag : "+flag+(" User : "+user);
「ユーザー」の場合、「何もない」が表示されています。コードはどこに修正すればよいですか?
解決
使用してみてください:
SharedPreferences settings = getSharedPreferences(appName,0);
settings.getBoolean("flag", true);
settings.getString("user", "hello");
そして言う:
SharedPreferences settings = getSharedPreferences(appName,0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("flag",true);
editor.putString("user","hello");
editor.commit();
これは私がアプリケーションで使用しているものであり、多くのクラスが吸収されたブリアン/int/文字列を共有しています
注:公式チュートリアルのように、AppNameはアプリ名である必要はありません。
所属していません StackOverflow