У меня есть список, заполненный данными из курсора с помощью SimpleCursorAdapter.Я хочу сделать так, чтобы я мог выбрать несколько элементов с флажком для каждого элемента, но я могу заставить его проверять только один элемент за раз, т.е. каждый раз, когда я выбираю элемент, он очищает текущий выбранный элемент.
Это прекрасно работает, если я заполняю список с помощью ArrayAdapter.Я могу выбрать несколько предметов.Так что я не знаю, почему он не работает с SimpleCursorAdapter.
Это создается в DialogFragment, если это имеет значение.
Действительно потяну за это мои волосы, помогите пожалуйста !!1007 *
Вот код:
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);
Редактировать: Просто чтобы добавить дополнительную информацию, список с множественным выбором работает, если я использую этот код, где "items" - это простой массив String:
lv.setAdapter(new ArrayAdapter(this.getActivity(),
android.R.layout.simple_list_item_multiple_choice, items));
Кроме того, это представление списка динамически добавляется к существующему Linearlayout (attributeLinearLayout) в фрагменте диалога, который содержит другие элементы управления.Я также пытался расширить другие адаптеры, в том числе макет адаптера массива и макеты элементов клиента, но это опять-таки не позволило мне выбрать несколько элементов.
Пожалуйста, помогите !!