Кажется, я не могу найти решения этой предположительно простой проблемы / ошибки, поэтому вот она:
ListFragment типа (android.R.layout.simple_list_item_checked), который при нажатии загружает другие фрагменты и выполняет другую работу.
Проблема в том, что строки в ListFragment, которые находятся вне поля зрения, «переносятся» на следующую строку без видимой причины при прокрутке обратно в представление. Лучше проиллюстрировать фотографиями ниже:
Фото 1: Нормальное состояние
![1-normal](https://farm8.staticflickr.com/7278/6999440303_5cb631bdb9.jpg)
Фото 2. Список прокручивается вниз - все по-прежнему работает нормально (Lamborghini вне поля зрения)
![2-normal-end](https://farm7.staticflickr.com/6227/6999440099_c707353b2e.jpg)
Фото 3: Однако, когда я выбрал Porsche и прокрутил вниз, текст «Мустанга» был поврежден
![4-error1](https://farm7.staticflickr.com/6055/6853315348_c8ca238761.jpg)
Фото 4. Так же, как и «Lamborghini» при прокрутке назад после некоторого случайного нажатия
![5-error2](https://farm7.staticflickr.com/6104/6853315378_5408ac226e.jpg)
Коды, которые я использовал для создания списка, довольно просты:
@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. Может ли это быть ошибка в этой сборке?