具有两个以上按钮的对话框

4

我有一个对话框,包含标题、信息和两个按钮(中性和否定)。我尝试添加另一个中性或否定按钮,但只显示每个按钮的一个(中性和否定)。那么有没有办法添加一个按钮呢?还是我必须创建一个自定义对话框布局?如果是这样,怎么做呢?

代码:

      AlertDialog.Builder dialogo = new AlertDialog.Builder(this);      
    dialogo.setMessage(msg);
    dialogo.setTitle(titulo);
    dialogo.setNeutralButton("OK", null);
    dialogo.setNegativeButton("Delete", deletar);
    dialogo.show();
4个回答

4
您可以使用setPositiveButton添加第三个按钮,但除此之外,您需要设置自定义视图。要设置自定义视图,只需使用AlertDialog.Builder调用setView(yourView)即可。

4

默认情况下,您可以拥有最多三个按钮,即中性、否定和肯定。如果需要更多按钮,则需要在对话框中使用自定义布局或创建自己的对话框。


1
简单的...
void multiPopup() {
    AlertDialog.Builder ad = new AlertDialog.Builder(context);
    ad.setTitle("Choose one...");
    ad.setItems(
      new String[] {"red", "green", "blue", "cancel"},
      new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            Log.i("dev", "clicked .. " + which);
        }
    });
    ad.create().show();
}

enter image description here


0
您可以使用默认的Android对话框,其中包含可点击选项列表。
    String[] dialogOptions = new String[]{ "Option 0", "Option 1", "Option 2", "Option 3"};
    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
    builder.setTitle("DIALOG TITLE")
           .setItems(dialogOptions, new DialogInterface.OnClickListener() {
                 public void onClick(DialogInterface dialog, int which) {
                      switch (which){
                           case 0:
                                //Option #0 picked, do something
                                break;
                           case 1:
                                //Option #1 picked, do something
                                break;
                           case 2:
                                //Option #2 picked, do something
                                break;
                           case 3:
                                //Option #3 picked, do something
                                break;
                      }
                 }
           })
           .create()
           .show();

注意:在我的测试中,setMessage()和list无法同时使用,因此我建议您仅使用setTitle()并跳过setMessage()。

来源:https://developer.android.com/guide/topics/ui/dialogs#AddingAList


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接