AlertDialog.Builder打开另一个AlertDialog.Builder

Fel*_*man 3 android dialog android-alertdialog

我试图打开AlertDialog另一个AlertDialog,但它不起作用,任何想法为什么它不起作用?

String items[] = {"Details","Edit","Delete"}
AlertDialog.Builder alert = new AlertDialog.Builder(getAplicationContext());
alert.setTitle("Options");
alert.setItems(items, new OnClickListener() {

    public void onClick(DialogInterface dialog, int item) {
        switch(item){
            case 0:
                AlertDialog.Builder alert2 = new AlertDialog.Builder(getAplicationContext());
                alert2.setTitle("Details");
                alert2.setMessage(getDetails());
                alert2.setNeutralButton("Close", null);
                alert2.show();
            return;

            case 1:
                //not important for the question
            return;

            case 2:
                //not important for the question
            return;
        }
    }
});

alert.setNegativeButton("Cancel", null);
alert.show();
Run Code Online (Sandbox Code Playgroud)

koo*_*ng3 6

问题可能是你正在使用的背景AlertDialog.尝试MyActivityName.this在两者中使用,将MyActivityName替换为您的名称Activity.

因此,构建第一个AlertDialog应该是这样的

AlertDialog.Builder alert = new AlertDialog.Builder(MyActivityName.this);

然后

AlertDialog.Builder alert2 = new AlertDialog.Builder(MyActivityName.this);

对于第二个.