3 Stimmen

AlertDialog.Builder einen anderen AlertDialog.Builder öffnen

Ich versuche, eine AlertDialog in einem anderen AlertDialog aber es funktioniert nicht. Irgendwelche Ideen, warum es nicht funktioniert?

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();

6voto

koopaking3 Punkte 3355

Das Problem ist wahrscheinlich der Kontext, den Sie für die AlertDialog 's. Versuchen Sie es mit MyActivityName.this in beiden, wobei Sie MyActivityName durch den Namen Ihrer Activity ist.

Der Bau des ersten AlertDialog sollte wie folgt aussehen

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

und dann

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

für die zweite.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X