原因:在使用shared preferences时,可能因为context的问题而无法正确获取shared preferences的值。
解决方法如下所述:
在使用shared preferences前,确定使用getApplicationContext()获取正确的context。
确认你使用的key值和default值是否匹配,特别是使用getString()、getInt()等获取数值时,避免将默认值设置为数值类型。
以下是一份示例代码:
//获取context Context context = getApplicationContext();
//获取shared preferences SharedPreferences settings = context.getSharedPreferences("PREFS_NAME", 0);
//写入值 SharedPreferences.Editor editor = settings.edit(); editor.putString("key", "value"); editor.putInt("key2", 123); editor.apply();
//读取值 String value = settings.getString("key", "default value"); int value2 = settings.getInt("key2", 0);