2013-06-11 58 views
0

这是我在onCreateView做(在片段):的ListView奇怪的行为

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英寸平板电脑模拟器测试,安卓2.3.3

回答

2

删除android:choiceMode="singleChoice"属性的listview修复了这个问题。

0

不知道如果多数民众赞成,但它好像是我曾经遇到过,前一段时间的同一个问题:

getting View for ListView item/reverse order on 2.2; works on 4.0.3

试包木窗它的Runnable

类似:

view.post(new Runnable(
    run(){ 
     view.setBackground... 
    } 
)) 
+0

不幸的是没有帮助。但是感谢这个链接让我想起了之前我尝试过的'android:choiceMode'。 –

0

我想你必须在影响新背景时调用adapter.notifyDataSetChanged()来告诉适配器你想刷新视图。