以下是我在onCreateView
(片段中)中所做的事情:
NewsAdapter adapter = new NewsAdapter(getActivity(), newsList, R.layout.news_list_item);
newsListView.setAdapter(adapter);
newsListView.setOnItemClickListener(this);
这是onItemClick
:
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
view.setBackgroundResource(R.drawable.list_item_back_selected);
}
问题是,当我点击第一个项目时,最后一个可见项仅突出显示。在2日 - 1日和2日结束。第3 - 第2,最后和第3结束等
我检查view
是否真的是通过查看mChild
数组内部点击的项目。目前我无法弄清楚原因。你有什么想法?如果需要更多数据代码,请告诉我。提前谢谢。
该应用程序在10英寸平板电脑模拟器Android 2.3.3上进行了测试
答案 0 :(得分:2)
删除listview的android:choiceMode="singleChoice"
属性解决了问题。
答案 1 :(得分:0)
不确定是否可以,但它似乎与我前一段时间遇到的问题相同:
getting View for ListView item / reverse order on 2.2; works on 4.0.3
尝试在Runnable
中包装它类似的东西:
view.post(new Runnable(
run(){
view.setBackground...
}
))
答案 2 :(得分:0)
我认为在影响新背景时必须调用adapter.notifyDataSetChanged()
以告诉适配器您要刷新视图。