4 Stimmen

Dialog mit mehr als 2 Schaltflächen

Ich habe einen Dialog mit: Titel, Nachricht und 2 Schaltflächen (Neutral und Negativ) Ich habe versucht, eine weitere Schaltfläche Neutral oder Negavite zu setzen, aber es zeigt nur eine Schaltfläche von jedem (Neutral und Negativ), so gibt es eine Möglichkeit, eine Schaltfläche zu setzen oder muss ich ein benutzerdefiniertes Layout des Dialogs erstellen? Wenn ja, wie kann ich das tun?

Code:

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

4voto

Michael Celey Punkte 12445

Sie können eine dritte Schaltfläche hinzufügen, indem Sie setPositiveButton aber abgesehen davon, müssen Sie eine benutzerdefinierte Ansicht einstellen. Um eine benutzerdefinierte Ansicht einzustellen, rufen Sie einfach setView(yourView) mit dem AlertDialog.Builder .

4voto

Raghav Sood Punkte 81319

Standardmäßig können Sie bis zu drei Schaltflächen haben, nämlich Neutral, Negativ und Positiv. Darüber hinaus müssen Sie entweder ein benutzerdefiniertes Layout im Dialogfeld verwenden oder Ihr eigenes Dialogfeld erstellen.

1voto

Fattie Punkte 34702

Einfach ...

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

0voto

Bréndal Teixeira Punkte 330

Sie können den Standarddialog von Android mit einer Liste anklickbarer Optionen verwenden.

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

Anmerkung: Während meiner Tests funktionierten setMessage() und list nicht zusammen, daher empfehle ich Ihnen, nur setTitle() zu verwenden und setMessage() zu überspringen. Quelle: https://developer.Android.com/guide/topics/ui/dialogs#AddingAList

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