AlertDialog-使其仅弹出一次

时间:2018-08-02 02:08:00

标签: android

我有一个警告对话框,活动开始后立即弹出。如果用户选择“是”,则该对话框将关闭,并且用户可以继续进行当前活动。如果用户选择“否”,则该用户将被重定向到另一个活动。我的问题是如何做到这一点,以便如果用户选择“是”,则以后在启动活动后便不再弹出警报对话框。如果用户选择“否”,则每次启动特定活动时,警告对话框仍应继续弹出吗?任何帮助将不胜感激。

 final AlertDialog builder = new AlertDialog.Builder(MonitorMain.this).create();
    builder.setMessage("Are you currently meal prep-ing?");
    builder.setButton(AlertDialog.BUTTON_POSITIVE, "Yes", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialogInterface, int i) {

            builder.dismiss();
        }
    });
    builder.setButton(AlertDialog.BUTTON_NEGATIVE, "No", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialogInterface, int i) {
            Intent intent = new Intent(MonitorMain.this,MainActivity.class);
            startActivity(intent);
        }
    });

    builder.show();


}

2 个答案:

答案 0 :(得分:2)

一种常见的做法是将标记保存在您的SharedPreferences上。在您的情况下,将是这样的:

main

答案 1 :(得分:1)

您可以保存状态以指示对话框已在活动中显示一次,并且用户也选择了

通过 onStart 方法

添加此代码
main