我似乎无法找到解决这个所谓的简单问题/错误的方法,所以这里是:
一个 ListFragment 类型(android.R.layout.simple_list_item_checked),当点击它时,将加载其他片段并做其他工作。
问题是 ListFragment 中不在视图中的字符串在滚动回视图时会无缘无故地“包装”到下一行。用下面的照片更好地说明:
照片 1:正常情况
照片 2:列表向下滚动 - 一切正常(兰博基尼不在视野范围内)
图 3:但是当我选择 Porsche 并向下滚动时,“Mustang”文本已损坏
照片 4 : 随机点击后向上滚动的“兰博基尼”也是如此
我用来创建列表视图的代码非常简单:
@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",
};
我尝试在 onListItemClick() 末尾调用 notifyDataSetChanged() 希望它会刷新列表,但问题仍然存在。有什么可能的解决方案吗?谢谢!
PS:我在 Galaxy Tab 10.1、带有 support-library-v4 的 Honeycomb 3.1 上运行它。这可能是这个版本的错误吗?