Eine Liste mit multi-select-Kästchen auf einen Alert-Dialog?
Habe ich versucht, eine Liste mit einigen 10-12 Elemente mit einer checkbox jeweils auf einen alert-dialog (d.h., wenn meine Tätigkeit beginnt).
So weit ich habe mit dem folgenden code; es verfügt nicht über die Checkboxen in der it.
Also, wie kann ich diese umsetzen? Jede sample-code oder Beratung wird geschätzt.
Dank
final CharSequence[] items = {"cat1","cat2","cat3" };
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Categories");
builder.setItems(items, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
switch (item) {
case 0:
//handle item1
break;
case 1:
//item2
break;
case 2:
//item3
break;
default:
break;
} }
});
AlertDialog alert = builder.create();
alert.show();
- warum sind Sie kompliziert Sache... einfach aufblasen, die benutzerdefinierte xml-Alarm - ... thats it
- Shah :Bitte haben Sie einen Blick auf die Antwort. Es war viel einfacher als das aufblasen eines benutzerdefinierten XML-layout und dann der code drauf.
- Schaut einfach auf meine Antwort hier: stackoverflow.com/questions/5348518/... funktioniert Alles einwandfrei...:-)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie setSingleChoiceItems () - Methoden in der builder-Objekt, das anstelle von setItems wie unten.
Wenn Sie möchten, zur Anzeige von mehrfach-Auswahl-Liste dialog, dann müssen Sie setMultiChoiceItems() anstelle von setSingleChoiceItems mit DialogInterface.OnMultiChoiceClickListener in seiner Argumentation
Alle Dinge sind erwähnt in Developer.Android.com Sie können nach einem dialog Hilfe hier
public void onClick(DialogInterface dialog, int which, boolean isChecked) { if(isChecked){ //Toast for testing Toast.makeText(getApplicationContext(), "User selected " + items[which], Toast.LENGTH_SHORT).show();}}
Jetzt, wenn ich versuche, Sie zu füllen ein array der ausgewählten Elemente im inneren "onClick" - Methode, dann ist es nicht das, was ich erreichen will. DankEmpfehle ich nicht zu verwenden, komplizierte benutzerdefinierte Ansicht in der Alarm-dialog.
Besser verwenden Sie die Aktivität für das Ergebnis für diese.
Im manifest festgelegt android:theme="@style/Theme.Dialog" für Ihre dialog-Aktivität
Als rajpara gesagt, aber ich glaube nicht, vergessen zu haben, weniger Komplexität in Ihrem code zu ersetzen, den switch zu posten[die].toString();