I stworzył AlertDialog:Android AlertDialog setOnDismissListener dla API niższy niż 17
private CharSequence[] _items = { "item1", "item2", "item3", "item4",
"item5", "item6", "item7" };
AlertDialog.Builder daysBuilder = new AlertDialog.Builder(this);
daysBuilder.setTitle("SomeCaption");
daysBuilder.setMultiChoiceItems(_items,new Boolean[] { false, true, false,
false false false, true }, SetListener);
daysBuilder.setPositiveButton("OK", OKListener);
daysBuilder.setNegativeButton("Cancel", CancelListener);
AlertDialog alert = daysBuilder.create();
alert.show();`
przez rachunek "new Boolean[] { false, true, false false false false, true }
" elementy w oknie dialogowym zostaną sprawdzone/zaznaczona domyślnie.
Po otwarciu okna dialogowego, zmianie wyboru pozycji, a następnie ich zwolnieniu (naciśnięcie przycisku anulowania lub przycisku wstecz urządzenia) powoduje odrzucenie okna dialogowego. Jak na razie dobrze.
Ale po ponownym otwarciu okna, elementy mają zaznaczony/niezaznaczony stan poprzednich zmian od ostatniego otwarcia okna dialogowego.
Ale kiedy okno dialogowe zostało zwolnione przy pierwszym otwarciu, chcę mieć zaznaczone/odznaczone elementy jak po utworzeniu okna dialogowego (new Boolean[] { false, true, false false false false, true }
).
Po prostu potrzebuję okazji, aby otrzymać powiadomienie, gdy okno dialogowe zostanie usunięte, a następnie mogę zresetować stan elementów.
Próbowałem go z setOnDismissListener dla obiektu okna dialogowego. Niestety to jest tylko dostępna w API 17.
setOnDismissListener pracował dla mnie idealny (dokładnie to, czego potrzebuję) w emulatorze (API 17), ale nie na urządzeniu (Android 4.1 => API 16)
Czy istnieje coś podobnego w API 16?
[setOnDismissListener] (http://developer.android.com/reference/android/app/Dialog.html#setOnDismissListener % 28android.content.DialogInterface.OnDismissListener% 29) jest obecny na poziomie Api 1 – nandeesh
hmm dziękuję za odpowiedź. Ale nawet Eclipse skarży się, że SetOnDismissListener jest tylko dla API17 i daje mi ostrzeżenie na Mogę stłumić ostrzeżenie, ale potem aplikacja ulega awarii na moim urządzeniu ... Eclipse mówi mi również, że setOnDismissListener został dodany w API17 –
Eudaimonie