Кажется, я не могу найти решения этой предположительно простой проблемы / ошибки, поэтому вот она:
ListFragment типа (android.R.layout.simple_list_item_checked), который при нажатии загружает другие фрагменты и выполняет другую работу.
Проблема в том, что строки в ListFragment, которые находятся вне поля зрения, «переносятся» на следующую строку без видимой причины при прокрутке обратно в представление. Лучше проиллюстрировать фотографиями ниже:
Фото 1: Нормальное состояние
Фото 2. Список прокручивается вниз - все по-прежнему работает нормально (Lamborghini вне поля зрения)
Фото 3: Однако, когда я выбрал Porsche и прокрутил вниз, текст «Мустанга» был поврежден
Фото 4. Так же, как и «Lamborghini» при прокрутке назад после некоторого случайного нажатия
Коды, которые я использовал для создания списка, довольно просты:
@Override
public void onActivityCreated(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onActivityCreated(savedInstanceState);
getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);
getListView().setHorizontalFadingEdgeEnabled(true);
getListView().setVerticalFadingEdgeEnabled(true);
getListView().setFastScrollEnabled(true);
carsTitleAdapter = new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_list_item_checked, CarModels.Models);
setListAdapter(carsTitleAdapter);
Строка в CarModels.class
public static final String[] Models = {
"Porsche",
"Lamborghini",
"Ferrari",
"McLaren",
"Aston Martin",
"Jaguar",
"Audi",
"Mustang",
};
Я пытался вызвать notifyDataSetChanged () в конце onListItemClick (), надеясь, что это обновит список, но проблема все еще сохраняется. Любые возможные решения этого? Спасибо!
PS: я запускаю его на Galaxy Tab 10.1, Honeycomb 3.1 с support-library-v4. Может ли это быть ошибка в этой сборке?