gpt4 book ai didi

java - 应用程序首次启动时应打开对话窗口

转载 作者:搜寻专家 更新时间:2023-11-01 07:55:30 25 4
gpt4 key购买 nike

我创建了一个对话框,每次用户打开应用程序时都会打开该对话框。因为这可能会很快打扰用户,所以我想在第一次启动应用程序时打开它,并且只有在那时才打开它。

我试过以下:

public boolean openDialog = true;

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

if (openDialog) {
launchDialog();
}
}

private void launchDialog() {
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
context);

// set title
alertDialogBuilder.setTitle("Your Title");

// set dialog message
alertDialogBuilder
.setMessage("Click yes to exit!")
.setCancelable(false)
.setPositiveButton("Yes",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int id) {
//don't open Dialog by next launch
openDialog = false;

// if this button is clicked, close
// current activity
MainActivity.this.finish();
}
})
.setNegativeButton("No",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int id) {
// if this button is clicked, just close
// the dialog box and do nothing
dialog.cancel();
}
});

// create alert dialog
AlertDialog alertDialog = alertDialogBuilder.create();

// show it
alertDialog.show();
}

感谢帮助

阿德里安

最佳答案

您可以使用简单的 sharedPreferences:

 private SharedPreferences mPrefs;
private Editor mEditor;

初始化:

 mPrefs  = PreferenceManager.getDefaultSharedPreferences(context);
mEditor = mPrefs.edit();

然后当对话框第一次出现时,保存状态例如:

mEditor.putBoolean(FIRST_TIME_USED_KEY,true);
mEditor.commit();

当再次打开应用程序时,首先询问对话框之前是否打开过:

boolean isUsedBefore = mPrefs.getBoolean(FIRST_TIME_USED_KEY,false);

if(isUsedBefore==true){
//do nothing
}else{
dialog.show();
}

FIRST_TIME_USED_KEY 应该是一个存储在 strings.xml 中的字符串。

关于java - 应用程序首次启动时应打开对话窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28279604/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com