如何在对话框中使用两个以上的按钮

时间:2011-09-13 20:51:24

标签: android

在AlertDialog中,我可以使用两种类型的按钮,负按钮和正按钮。但是,如果我想使用两个以上的按钮,我需要做什么? 以下程序无效..

    AlertDialog.Builder alert = new AlertDialog.Builder(
                        QuizActivity.this);
                alert.setTitle("Quiz Result");
                alert.setMessage("Correct Answer: "
                        + scoreMode.getCorrectAnswer() + "\n"
                        + "Wrong Answer: " + scoreMode.getWrongAnswer()
                        + "\n" + "Total Score: "
                        + scoreMode.getScorePoint() + "\n"
                        + "Bonus Score: " + scoreMode.getBonusPoint());
                alert.setPositiveButton("Save result",
                        new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface arg0,
                                    int arg1) {
                                showSaveResultDailog(scoreMode
                                        .getScorePoint());
                            }

                        });
                alert.setNegativeButton("Play Again",
                        new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface arg0,
                                    int arg1) {
                                Intent i = new Intent(QuizActivity.this,
                                        QuizOptionActivity.class);
                                startActivity(i);
                            }
                        });
                alert.setNegativeButton("Back to Main Menu",
                        new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface arg0,
                                    int arg1) {
                                Intent i = new Intent(QuizActivity.this,
                                        HomeActivity.class);
                                startActivity(i);
                            }
                        });
                alert.show();

2 个答案:

答案 0 :(得分:10)

您还可以通过setNeutralButton(..)设置第三个按钮。

AlertDialog上的三个按钮最多。如果超出此范围,则需要使用Dialog并通过setContentView(view)设置自定义视图。在此视图中,您可以拥有任何内容:按钮,布局,小部件。

答案 1 :(得分:1)

您也可以使用setNeutralButton()。但就是这样(出于某种原因)。对话框会因为更多的按钮而变得杂乱无章。如果您需要更多选项,而是构建正常活动或切换到其他对话框类型(例如带有列表的AlertDialog)。