gpt4 book ai didi

java - 仅在打开应用程序时出现警报

转载 作者:行者123 更新时间:2023-12-01 11:25:56 25 4
gpt4 key购买 nike

有没有办法让警报仅在应用程序打开时出现?我在 MainActivity 的 onStart() 中创建警报,每当我返回应用程序中的该 Activity 时,它都会再次显示警报,这可能会让用户感到烦恼。或者有没有办法创建一个“明白”按钮,然后关闭警报?这是我的代码:

protected void onStart() {
super.onStart();
new AlertDialog.Builder(this)
.setTitle("Instructions")
.setMessage("Hello! To begin, select a map from the list to train with. Make sure" +
" you are on the correct floor.")
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
})
.setIcon(R.drawable.ic_launcher)
.show();

}

最佳答案

这是因为当另一个 Activity 在您的 MainActivity 上进入前台时,会使您的 Activity 进入 OnPause()。然后当你回到你的 MainActivity 时。系统调用再次onStart()See The activity life cycle

-第一个解决方案

public class TestActivity extends ActionBarActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

if (savedInstanceState == null) {
showAlertDialog();
}
}

private void showAlertDialog() {
// code to show alert dialog.
}

}

-第二种解决方案

public class TestActivity extends ActionBarActivity {

private static boolean isAlertDialogShownBefore = false;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

if (!isAlertDialogShownBefore) {
showAlertDialog();
isAlertDialogShownBefore = true;
}
}

private void showAlertDialog() {
// code to show alert dialog.
}

@Override
public void onBackPressed() {
isAlertDialogShownBefore = false;
super.onBackPressed();
}

}

关于java - 仅在打开应用程序时出现警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30808339/

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