2013-06-11 88 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()來告訴適配器你想刷新視圖。