警报框..然后关闭

时间:2011-09-02 12:39:26

标签: android alertdialog

您好我正在使用alertdialog ..当用户点击确定时,它必须重新启动相同的激活(GAME) 当他点击否它必须去主菜单..但当我点击确定... 2活动 正在同时运行,当我没有时钟......然后回到这里......对话框仍然存在! 救命!这是片段

  AlertDialog.Builder alertbox = new AlertDialog.Builder(this);
    alertbox.setMessage("oops! wrong answer! wanna play again?");
    alertbox.setPositiveButton("Yea sure!",
            new DialogInterface.OnClickListener() {
                                   Intent game = new Intent("nik.trivia.GAME");
                    startActivity(game);
                    finish();
});





alertbox.setNegativeButton("Nope! take me to the main menu",
            new DialogInterface.OnClickListener() {

                public void onClick(DialogInterface arg0, int arg1) {
                    Intent menu = new Intent("nik.trivia.MENU");
                    startActivity(menu);
                    finish();


                }
            });

3 个答案:

答案 0 :(得分:1)

用户点击按钮后,您需要在dismiss()上致电AlertDialog

编辑:只需放置以下代码:

   arg0.dismiss();

onClick方法中。

答案 1 :(得分:0)

要仅启动此活动的实例,您必须将标记设置为singleTask并使用onNewIntent()方法获取意图。

编辑:

将singleTask设置为清单文件中活动的标志,以便不会有多个相同活动的实例并将其添加到您的活动中:

@Override
protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);   
    setIntent(intent);
    // Do here whatver you want. This method is similar to the onCreate() method.
}

答案 2 :(得分:0)

在您的情况下,您可以添加: alertbox.dismiss()

当你调用finish()时,它不仅仅是对话框

编辑:

  public void onClick(DialogInterface arg0, int arg1) {
                Intent menu = new Intent("nik.trivia.MENU");
                startActivity(menu);

                arg0.dismiss();
                finish(); 

或者你可以juste声明alertbox protected:

protected AlertDialog alertDialog 

并且你可以从任何地方打电话给dismis