有人知道错误出在哪里吗? Android Studio 中出现错误。
以下是目前的代码。
final String keyFirstTime = "keyFirstTime";
prefsEditor.putBoolean(keyFirstTime, false);
if (keyFirstTime = false) {
提前致谢。
最佳答案
- keyFirstTime 是一个字符串(参见注释)
- 您正在 PUTTING 一个值,但没有得到一个值
- 您正在 if 语句中使用赋值
- 您正在将 STRING 与 BOOLEAN 进行比较
在 Activity 1 中,您应该:
final String keyFirstTime = "keyFirstTime";
prefsEditor.putBoolean(keyFirstTime, false);
在 Activity 2 中,您应该:
boolean firstTime = prefs.getBoolean(keyFirstTime, false); //you don't need the editor
if (firstTime) {
...
}
请前往此处查看教程:https://developer.android.com/training/basics/data-storage/shared-preferences.html
编辑尝试这样做(从 here 窃取)
private static final String FIRST_RUN = "FIRST_RUN";
SharedPreferences prefs = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
prefs = getSharedPreferences(getApplicationContext().getPackageName(), MODE_PRIVATE);
}
@Override
protected void onResume() {
super.onResume();
if (prefs.getBoolean(FIRST_RUN, true)) {
prefs.edit().putBoolean(FIRST_RUN, false).commit();
//call relevant function for first run
} else {
//call relevant function for every other run
}
}
关于java - Android:共享首选项 boolean 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41724686/