AlertDialog.Builder открыть другой AlertDialog.Builder - PullRequest
3 голосов
/ 18 февраля 2012

Я пытаюсь открыть 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();

1 Ответ

6 голосов
/ 19 февраля 2012

Возможно, проблема в контексте, который вы используете для AlertDialog.Попробуйте использовать MyActivityName.this в обоих случаях, заменив MyActivityName именем вашего Activity.

Итак, первый AlertDialog должен выглядеть следующим образом

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

, а затем

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

для второго.

...