Отображать ранее выбранные элементы в списке массивов с новым в диалоговом окне с несколькими выборами

Когда я снова открываю диалоговое окно, чтобы показать элементы, которые были выбраны, они отображаются нормально, но если я выбираю другой элемент, то другие элементы, которые были выбраны ранее, удаляются, и в массиве отображаются только новые. Я хочу показать новый выбранный элемент, а также предыдущий выбранный элемент в списке.

 AlertDialog.Builder builder = new AlertDialog.Builder(Setting.this);
            builder.setTitle("Choose Categories to hide");
            int L = MyGlobals.categories2.length;
            boolean[] checkedItems = new boolean[L];
            for (int i = 0; i < L; i++) {
            try {
                if(categoryExist(MyGlobals.categories2[i])){
                    checkedItems[i] = true;
                }else {
                    checkedItems[i] = false;
                }
            }catch(Exception e) {
                e.printStackTrace();
            }


            }
            builder.setMultiChoiceItems(MyGlobals.categories2, checkedItems, new DialogInterface.OnMultiChoiceClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                    if (isChecked) {
                        selected_categories.add(MyGlobals.categories2[which]);
                    } else if(selected_categories.contains(which)) {
                        selected_categories.remove(MyGlobals.categories2[which]);

                    }
                }
            });

0 ответов

Другие вопросы по тегам