我想为我的应用程序添加启动警报,但每次回到主屏幕时它都会一直显示。我该怎么做?新手在这里,谢谢你。
AlertDialog.Builder alertDialog = new AlertDialog.Builder(this);
alertDialog.setMessage("About:");
String alert1 = "Message here " ;
String alert2 = "Message here " ;
String alert3 = "Message here " ;
alertDialog.setMessage(alert1 +"\n"+ alert2 +"\n"+ alert3);
AlertDialog alert = alertDialog.create();
alert.show();
答案 0 :(得分:2)
创建一个布尔变量(最初设置为true)以告诉您它是否是第一次运行并将其存储在Preferences
中。
private boolean isFirstRun = true;
private SharedPreferences prefs;
在create()内部,如果存在,则从Preferences
读取该值。默认值是true。
prefs = PreferenceManager.getDefaultSharedPreferences(this);
isFirstRun = prefs.getBoolean("isFirstRun", true);
如果该变量值为true,则仅显示Dialog
。
显示Dialog
后,请将该变量设置为false并将其保存在Preferences
中。
if(isFirstRun){
AlertDialog.Builder alertDialog = new AlertDialog.Builder(this);
alertDialog.setMessage("About:");
String alert1 = "Message here " ;
String alert2 = "Message here " ;
String alert3 = "Message here " ;
alertDialog.setMessage(alert1 +"\n"+ alert2 +"\n"+ alert3);
AlertDialog alert = alertDialog.create();
alert.show();
}
isFirstRun = false;
prefs.edit().putBoolean("isFirstRun", isFirstRun).commit();
下次运行代码时,变量将始终为false,因此Dialog
不会显示。
编辑:
在onStop()
内,执行:
if(alert!=null && alert.isShowing())
alert.dismiss();
当您将Activity退出到另一个时,这将关闭Dialog。按回按钮后,Dialog
将再次显示。