Java 我能';I don’我不能让共享参考资料发挥作用
我正在为Android制作一个应用程序,在启动屏幕上,我希望在应用程序第一次启动时显示一个AlertDialog。这是我的代码:Java 我能';I don’我不能让共享参考资料发挥作用,java,android,sharedpreferences,Java,Android,Sharedpreferences,我正在为Android制作一个应用程序,在启动屏幕上,我希望在应用程序第一次启动时显示一个AlertDialog。这是我的代码: SharedPreferences savedInfo = getSharedPreferences("SavedInfo", MODE_PRIVATE); SharedPreferences.Editor infoEditor = savedInfo.edit(); boolean firstLaunch = savedInfo.g
SharedPreferences savedInfo = getSharedPreferences("SavedInfo", MODE_PRIVATE);
SharedPreferences.Editor infoEditor = savedInfo.edit();
boolean firstLaunch = savedInfo.getBoolean("firstLaunch", true);
final AlertDialog importDialog = new AlertDialog.Builder(SplashActivity.this).create();
if (firstLaunch == true) {
importDialog.setTitle(R.string.splash_import_title);
importDialog.setMessage(getString(R.string.splash_import_text));
importDialog.setIcon(android.R.drawable.ic_dialog_alert);
importDialog.setButton(getString(R.string.splash_import_yes), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
//ALL FILE STUFF HERE
importDialog.dismiss();
startTimer();
}
});
importDialog.setButton2(getString(R.string.splash_import_no), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
importDialog.dismiss();
startTimer();
}
});
importDialog.show();
infoEditor.putBoolean("firstLaunch", false);
} else {
startTimer();
}
问题是,它每次都显示对话框。即使我已经发布了它。感谢您的时间和帮助,zeokila。我相信您必须在
putBoolean
之后运行infoEditor.commit()。在您这样做之前,它实际上不会保存新的首选项
我相信您必须在putBoolean
之后运行infoEditor.commit()
。在您这样做之前,它实际上不会保存新的首选项
您必须告诉编辑器保存。添加infoEditor.commit()代码>(同步)或infoEditor.apply()编码>(异步)以保持您的值。您必须告诉编辑器保存。添加infoEditor.commit()代码>(同步)或infoEditor.apply()代码>(异步)以保留您的值。infoEditor.commit()
似乎在infoEditor.putBoolean(“firstLaunch”,false)
之后缺失,因此从未保存新值。infoEditor.commit()
似乎在infoEditor.putBoolean(“firstLaunch”,false)
之后缺失,因此,新值从未保存