创建一个布尔变量(初始设置为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();
这将关闭对话框。当您退出活动到另一个。一旦按下按钮,Dialog
将不会再显示。
此代码在哪里调用,onResume()? – Kai 2014-09-28 13:32:37
设置一个布尔变量 – 2014-09-28 13:48:35
这是写波纹管 公共类Main_Screen延伸活动{ 公共无效的onCreate(捆绑savedInstanceState){ 这里 – hhayf 2014-09-28 13:49:22