当前位置: 首页 > 知识库问答 >
问题:

单击对话框按钮退出应用

詹夕
2023-03-14

当用户单击返回按钮时,我正在尝试退出应用程序,让它在单击是按钮时显示对话框是/否按钮,让它退出应用程序,包括注册活动,假设您在主活动上。

这是我的代码,但它不工作

private AlertDialog AskOption()
{
   AlertDialog myQuittingDialogBox =new AlertDialog.Builder(this) 
       .setTitle("Exit") 
       .setMessage("Are you sure you want to exit?") 
      // .setIcon(R.drawable.delete)
       .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
           public void onClick(DialogInterface dialog, int whichButton) {
//at this point i am trying to exit the app
               Register reg = new Register();
               reg.finish();
               finish();
               System.exit(0);

           }   
       })
       .setNegativeButton("No", new DialogInterface.OnClickListener() {
           public void onClick(DialogInterface dialog, int which) {
               dialog.dismiss();
           }
       })
       .create();
       return myQuittingDialogBox;

   }

单击主活动上的“后退”按钮时

@Override
public void onBackPressed() {

    AlertDialog diaBox = AskOption();
    diaBox.show();

}

如何从主活动退出应用程序,包括在是按钮单击对话框上的注册活动

共有3个答案

向俊贤
2023-03-14

你可以这样做

@Override
public void onBackPressed() {
new AlertDialog.Builder(this)
       .setMessage("Are you sure you want to exit?")
       .setCancelable(false)
       .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
           public void onClick(DialogInterface dialog, int id) {
                ExampleActivity.this.finish();
           }
       })
       .setNegativeButton("No", null)
       .show();
}

对于在这段代码之后单击yes时保持打开的活动。为此,您必须在start Active()之后完成()。

周云
2023-03-14
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
       public void onClick(DialogInterface dialog, int whichButton) {
           finish();
       }   
   })

正在执行< code > finish();点击一下就够了。

厉文栋
2023-03-14

使用此代码。

  .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
               public void onClick(DialogInterface dialog, int whichButton) {
    //at this point i am trying to exit the app
              Intent intent = new Intent(Intent.ACTION_MAIN);
              intent.addCategory(Intent.CATEGORY_HOME);
              intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
              startActivity(intent);
              finish();
              System.exit(0);

               }   
           })

如果您使用了Intent.FLAG_ACTIVITY_CLEAR_TOP,那么它可以清理活动历史记录。

 类似资料:
  • 我正在编写一个小型PyQt4应用程序,它只是一个“是/否”对话框,必须执行一个外部命令(例如“eject/dev/sr0”)并退出。 应用程序运行时,它在按下“是”按钮后执行命令,但我无法在执行命令时使对话框本身退出。 这是我的密码。当我单击“是”时,它会正确地调用'eject/dev/sr0'命令,但在此之后对话框仍然可见。我必须单击“否”关闭应用程序,我希望它在执行命令时自动关闭。我应该添加/

  • 我有一个按钮(CustomDilaog活动),当点击显示自定义对话框和密码编辑文本,确定按钮和取消按钮时,如果你输入正确的密码,它会打开另一个活动(文本活动),直到现在一切正常, 我有两个部分的问题。 第一部分:当我在(文本活动)并按后退按钮返回(CustomDilaog活动)时,仍然对话框显示在它上面,如何让它关闭 第二部分:对话框启动后,如果我不写密码,只需单击“确定”按钮,edittext为

  • 问题内容: 我有一个EditText用于输入的对话框。当我单击对话框上的“是”按钮时,它将验证输入,然后关闭对话框。但是,如果输入错误,我希望保留在同一对话框中。每次无论输入什么,当我单击“否”按钮时,都应自动关闭对话框。如何禁用此功能?顺便说一句,我在对话框上的按钮上使用了PositiveButton和NegativeButton。 问题答案: 编辑:这仅在API 8+上有效,如某些注释所述。

  • 问题内容: 我最近在许多Android应用程序和游戏中都注意到了这种模式:单击“后退”按钮以“退出”该应用程序时,会出现类似“请再次单击BACK退出”的消息。 我想知道,正如我越来越经常看到的那样,这是你可以以某种方式在活动中访问的内置功能吗?我看过许多类的源代码,但似乎找不到任何东西。 当然,我可以考虑几种很容易实现相同功能的方法(最简单的方法可能是在活动中保留一个布尔值,以指示用户是否已经单击

  • 当我单击按钮时,会显示一个引导模式弹出窗口。我尝试使用下面的恶作剧功能单击确定或取消按钮,但都不起作用。要么功能不起作用,要么单击外部。 单击“释放”时,将有一个带有OK和取消按钮的引导模式,可以通过屏幕截图进行验证。尝试使用以下命令单击OK按钮。 第页。查找(“.btn.procedue.btn primary”)。触发器(“单击”) 单击链接(“确定”) 第页。执行\u脚本(“$”(“.btn

  • 问题内容: 所以我目前有一个带有两个按钮的jQuery对话框:保存和关闭。我使用以下代码创建对话框: 但是,使用此代码时,两个按钮的颜色相同。我希望我的“取消”按钮与“保存”使用不同的颜色。有没有办法使用一些内置的jQuery选项来做到这一点?我从文档中没有得到太多帮助。 请注意,我正在创建的“取消”按钮是预定义的类型,但是“保存”是我在定义自己。不知道这是否对这个问题有影响。 任何帮助,将不胜感