Я показываю диалог с флажками (список извлекается из БД), чтобы позволить пользователю выбирать, какие строки удалять. Поскольку кеширование диалогов Android, мне нужно обновить количество и имена флажков.
В моем onCreateDialog:
dialog = new AlertDialog.Builder( this )
.setTitle( "Remove Items" )
.setMultiChoiceItems( items, _selections, new OnMultiChoiceClickListener(){public void onClick (DialogInterface dialog, int which, boolean isChecked){}} )
.setPositiveButton("Smazat", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.dismiss();
deleteRow(_selections);
} })
.setNegativeButton("Storno", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.dismiss();
} })
.create();
Как обновить значения (элементы, _selections) в onPrepareDialog?
Я пытался сделать недействительными представления, надеясь, что это заставит android загружать элементы еще раз (не работает), но я думаю, что это плохой выбор, а также удаление диалога и воссоздание.
protected void onPrepareDialog(final int id, final Dialog dialog) {
switch (id) {
case REMOVE_DIALOG_ID:
ListView lv = ((AlertDialog) dialog).getListView();
lv.invalidateViews();
break;
}
Спасибо за любые идеи!