我有一個listview和一個相應的listview適配器。在Listview中突出顯示所選視圖Android
在Listview中顯示的視圖是我自己寫的,它是一個按鈕和一個圖像按鈕的框架佈局。 imagebutton是一個紅色十字,刪除條目,常規按鈕選擇條目。
當用戶按下常規按鈕時,該項目被選中,我想通過將該項目的背景設置爲綠色來向用戶顯示此項目。應用程序存儲用戶選擇的項目以及下次列表視圖的呈現時間,應該選擇該項目並使其綠色。
請注意,在我的列表視圖中應始終存在一個和一個選定的項目。
在getView(..在我adaper方法,這是很容易改變,當用戶點擊它的按鈕的顏色,但用戶點擊前一個綠色按鈕是不可能的,我引用。
- 我試圖存儲參考先前選擇的按鈕,但它從未重新繪製
- 我試圖消除,並從列表中添加所述數據項來觸發notifyDataSetChanged但它從未重新繪製
- 我試圖setChoiceMode(ListView.CHOICE_MODE_SINGLE),但是這並不是因爲我不知道如何捕捉getView中的選擇方法和油漆的不同取決於它的選擇與否。
我看到的所有指南都建議使用notifyDataSetChanged。但是,在這種情況下,基礎數據不會被更改,並且這是不正確的(或可能的)解決方案。
所以我認爲我的問題歸結爲:如何可以在我的列表視圖中引用另一個視圖? (並且是的,我看過這個帖子:Highlight selected item in ListView on Android。它描述了我的問題,並回答「然後改變之前選擇的項目的背景的顏色恢復到正常」,但我仍然不能參考先前選擇的項目項目。
謝謝!
http://stackoverflow.com/questions/16189651/android-listview-selected-item-stay-highlighted – 2015-03-03 14:10:57
感謝您的發現。然而,這是同樣的問題。先前選擇的條目的選擇未被更新。 – Joakim 2015-03-03 14:25:34