Как актуализировать значения элементов setMultiChoiceItems в onPrepareDialog?

я показываю диалог флажков (список, полученный из БД), чтобы позволить пользователю выбрать, какие строки удалить. Из-за кеширования диалогов 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;
          }

Спасибо за любые идеи!

7
задан Hruskozrout 13 February 2011 в 12:49
поделиться