Interfejs API informuje, że okno dialogowe alertów może mieć jeden, dwa lub trzy przyciski, ale SDK zezwala tylko na przycisk dodatni i ujemny. Jak mogę dodać trzeci przycisk?Jak mogę dodać trzeci przycisk do okna alarmowego systemu Android?
Odpowiedz
Ten fragment kodu powinien pomóc wyjaśnić trzy różne przyciski można użyć:
alertDialog = new AlertDialog.Builder(this).create();
alertDialog.setTitle("Dialog Button");
alertDialog.setMessage("This is a three-button dialog!");
alertDialog.setButton(AlertDialog.BUTTON_POSITIVE, "Button 1 Text", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//...
} });
alertDialog.setButton(AlertDialog.BUTTON_NEGATIVE, "Button 2 Text", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//...
}});
alertDialog.setButton(AlertDialog.BUTTON_NEUTRAL, "Button 3 Text", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//...
}});
To przestarzałe ... spójrz na moją odpowiedź. – ninjasense
@ninjasense, zdałem sobie sprawę, i edytowałem, kiedy napisałeś swoją odpowiedź. Dzięki! – sahhhm
Podczas tworzenia okna, dodać coś takiego do konstruktora:
builder = new AlertDialog.Builder(context);
builder.setTitle("Test");
builder.setIcon(R.drawable.icon);
builder.setMessage("test");
builder.setPositiveButton("Call Now",
new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int id)
{
dialog.cancel();
}
});
builder.setNeutralButton("Setup",
new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int id)
{
context.startActivity(new Intent(context, Setup.class));
//dialog.cancel();
}
});
builder.setNegativeButton("Exit",
new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int id)
{
dialog.cancel();
}
});
builder.create().show();
@ninjasense Czy można dodać 4. przycisk do okna alertu? – Geek
w tym przypadku - nie. Powinieneś zrobić niestandardowy widok. – AndrewS
Tworzenie własnego okna alertów alertów jest bardziej prawdopodobne. https://stackoverflow.com/questions/13341560/how-to-create-a-ustom-dialog-box-in-android –
Dodaj dowolny liczba przycisków bez xml:
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle("Title");
builder.setItems(new CharSequence[]
{"button 1", "button 2", "button 3", "button 4"},
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// The 'which' argument contains the index position
// of the selected item
switch (which) {
case 0:
Toast.makeText(context, "clicked 1", 0).show();
break;
case 1:
Toast.makeText(context, "clicked 2", 0).show();
break;
case 2:
Toast.makeText(context, "clicked 3", 0).show();
break;
case 3:
Toast.makeText(context, "clicked 4", 0).show();
break;
}
}
});
builder.create().show();
To rozwiązanie nie dodaje przycisków, np. "OK", "Anuluj" itp., Ale raczej ustawienie pozycji do wyświetlenia na liście opcji, np. "Opcja 1", "Opcja 2" itp. Ponieważ pytanie wspomina, że "tylko SDK pozwala dla przycisku dodatniego i ujemnego ", to nie odpowiada, jak przezwyciężyć to ograniczenie. – d60402
@ d60402 - masz dobry punkt, ale jeśli programista szukający sposobu na utworzenie okna dialogowego z więcej niż 2 przyciskami natrafia na tę odpowiedź ... Ta opcja jest bardzo przydatna, ponieważ jest bardziej elastyczna dzięki liczbie przycisków. Innymi słowy, jeśli przyciski dodatnie i ujemne nie wystarczą do tego, co robisz, 3 przyciski mogą stać się 4 dość szybko. Stąd głosy. –
@ d60402 Tytuł pytania brzmi: jak dodać trzeci przycisk, a nie jak wyświetlić przycisk neutralny. –
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
this);
// set title
alertDialogBuilder.setTitle("To Do List");
// set dialog message
alertDialogBuilder
.setMessage("What do you want?")
.setCancelable(false)
.setPositiveButton("Delete All", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// if this button is clicked, close
// current activity
dialog.cancel();
}
}).setNeutralButton("Delete", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// if this button is clicked, close
// current activity
dialog.cancel();
}
})
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// if this button is clicked, just close
// the dialog box and do nothing
dialog.cancel();
}
});
// create alert dialog
AlertDialog alertDialog = alertDialogBuilder.create();
// show it
alertDialog.show();
- 1. Jak dodać przycisk na końcu okna RecyclerView?
- 2. Jak dodać przycisk w ActionBar (Android)?
- 3. Przycisk nadrzędny onclick systemu Android
- 4. Dodaj przycisk do paska tytułu okna
- 5. Jak mogę narysować lub dodać niestandardowy przycisk do każdego okna wszystkich aplikacji?
- 6. Jak mogę dodać przycisk do paska napisów WPF podczas używania niestandardowego okna chrome?
- 7. Jak dodać trzeci poziom do mojego rozwijanego menu CSS?
- 8. Przycisk do rysowania systemu Android na płótnie z niestandardowym widokiem?
- 9. Przycisk przełącznika systemu Android Niestandardowy projekt
- 10. Przycisk "Go" na klawiaturze systemu Android do "Wyszukaj"
- 11. Jak dodać dodatkowy przycisk do paska tytułu okna, aby działał on w standardzie?
- 12. Dostosowany do systemu Android przycisk; zmienia kolor tekstu
- 13. Jak skonfigurować tytuł komunikatu alarmowego
- 14. Jak dodać efekty Aero okna do JPanel?
- 15. Jak dodać cień do okna w JavaFX?
- 16. Jak dodać przycisk do strony indeksu ActiveAdmin
- 17. Jak dodać przycisk do pliku settings.bundle?
- 18. Jak dodać przycisk zamknięcia do zakładki JTabbedPane?
- 19. Jak dodać przycisk do wpisu MKPointAnnotation?
- 20. Jak dodać przycisk do paska UINavigationBar?
- 21. Jak mogę dołączyć przycisk do powiadomienia Toast?
- 22. Android dodać obraz do przycisku
- 23. Jak zmienić tło okna alertu systemu Android Tytuł
- 24. Jak dodać przyciski do głównego okna w Qt?
- 25. Jak dodać trzeci poziom tyknięć w python matplotlib
- 26. Jak dodać przycisk odcień programowo
- 27. Dodaj pozytywny przycisk do okna dialogowego
- 28. jak uzyskać przycisk "Gotowe" na klawiaturze systemu Android?
- 29. Jak mogę zmienić szerokość okna konsoli systemu Windows?
- 30. Wprowadzanie danych przez użytkownika systemu Android za pomocą okna dialogowego
Powiązane: [Okno alertu systemu Android z jednym, dwoma i trzema przyciskami] (https://stackoverflow.com/questions/43513919/android-alert-dialog-with-one- two-and-three-buttons) – Suragch