Android Listview – невозможно выбрать несколько элементов при использовании курсора

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

Все работает нормально, если я заполняю список с помощью ArrayAdapter. Я могу выбрать несколько элементов. Поэтому я не знаю, почему это не работает с SimpleCursorAdapter.

Это создается в DialogFragment, если это имеет значение.

Я рву на себе волосы, пожалуйста, помогите!!

Вот код:

Cursor attributesCursor = mDBHelper.getItemAttributesbyType(menuID, itemID, "M");
getActivity().startManagingCursor(attributesCursor);

ListView lv = new ListView(this.getActivity());
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
                LinearLayout.LayoutParams.FILL_PARENT,
                LinearLayout.LayoutParams.MATCH_PARENT);
lv.setLayoutParams(params);


SimpleCursorAdapter adapter = new SimpleCursorAdapter(
                getActivity(), android.R.layout.simple_list_item_multiple_choice,
                attributesCursor, new String[] { "AttributeDescription" },
                new int[] { android.R.id.text1 },0);


attributesLinearLayout.addView(lv);

lv.setAdapter(adapter);

lv.setItemsCanFocus(false);
lv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);

Редактировать: Просто чтобы добавить дополнительную информацию, список с несколькими вариантами выбора работает, если я использую этот код, где «элементы» — это простой массив строк:

lv.setAdapter(new ArrayAdapter(this.getActivity(),
            android.R.layout.simple_list_item_multiple_choice, items));

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

Пожалуйста, помогите!!

14
задан Mau 9 April 2012 в 00:06
поделиться