Java SharedReferences编辑器未执行
在下面的代码中,mEditor行中的一行似乎没有执行Java SharedReferences编辑器未执行,java,android,Java,Android,在下面的代码中,mEditor行中的一行似乎没有执行 到目前为止,我已经尝试了许多不同的组合,但无法正确执行。该值根本没有设置 如果我尝试使用该值,如在Toast中,我将收到ResourcesNotFound异常 在我的onCreateView中初始化SharedReference,片段 mSharedPreferences = PreferenceManager.getDefaultSharedPreferences(getActivity()); mEditor = mSharedPrefe
到目前为止,我已经尝试了许多不同的组合,但无法正确执行。该值根本没有设置
如果我尝试使用该值,如在Toast中,我将收到ResourcesNotFound异常 在我的onCreateView中初始化SharedReference,片段
mSharedPreferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
mEditor = mSharedPreferences.edit();
以下代码用于我的onClick,它有其他SharedReference,工作方式完全相同,执行良好。 第一行执行得很好,但包含“putInt”的第二行没有按预期执行
mEditor.putString(getString(R.string.pref_chosen_team), "T");
mEditor.putInt(getString(R.string.pref_round_played), 1);
mEditor.apply();
工作代码示例:
else if(round_number <= 30){
mEditor.putInt(getString(R.string.pref_round_played),round_number + 1);
mEditor.apply();
}
else if(四舍五入编号
我将收到ResourcesNotFind异常
我认为R.string.pref\u round\u played
不存在,请检查您的strings.xml
您没有发布详细的代码,所以请按照下面的方式保存共享首选项中的值
public static final String PREFS_NAME = "MyPrefsFile";
SharedPreferences.Editor editor = getSharedPreferences(PREFS_NAME , MODE_PRIVATE).edit();
editor.putString("name", "john");
editor.putInt("id", 123);
editor.apply();
SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE);
String name = prefs.getString("name", ""); // you can put default value if you need
int idName = prefs.getInt("id", 0);
从共享首选项检索数据
public static final String PREFS_NAME = "MyPrefsFile";
SharedPreferences.Editor editor = getSharedPreferences(PREFS_NAME , MODE_PRIVATE).edit();
editor.putString("name", "john");
editor.putInt("id", 123);
editor.apply();
SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE);
String name = prefs.getString("name", ""); // you can put default value if you need
int idName = prefs.getInt("id", 0);
如果这不适合你,请张贴你的完整代码
更新
把你的代码改成这个
mSharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
SharedPreferences.Editor mEditor = mSharedPreferences .edit();
您应该commit
请在此处发布完整的代码和错误日志。@这在本例中没有任何区别。与getString()相同的结果
?您正在使用语言可翻译密钥?为什么要使用字符串资源作为密钥?您是如何尝试获取vale的?请将您的代码放在这里…我添加了更多的解释。我的所有共享引用都通过字符串资源存储在我的string.xml
文件中