2011-11-09 38 views
8

有沒有一種方法能夠完美地去除一個ListView選擇。它將以與ListView#setSelection(int position)相反的方式進行操作。我想以編程方式從ListView中刪除選擇(這樣就不會選擇任何項目)。它沒有出現API有一個簡單的方法來做到這一點。有什麼想法嗎?的Android的ListView刪除選擇

我的問題是相似的:Android: disable ListView selection

回答

0

好什麼,我能爲這個做設置選擇顏色和背景都相同的顏色,如果可能的 或與完整的alpha值,使得它透明,即使設置選擇選擇有它不會是可見了

0

我能找到的simpliest方法是刷新適配器的ListView使用:然後

listAdapter.notifyDataSetChanged(); 

的ListView將刷新,H提供相同的選擇,但選擇突出顯示將被清除。

+0

此方法不存在(在我的API第19節) – Asterius

+0

@Asterius,這是列表適配器的方法,而不是ListView控件本身。 –

0

使用listView.setItemChecked(-1, true);

3

其他答案都不爲我工作,所以我這樣做:

SparseBooleanArray positions = getListView().getCheckedItemPositions(); 
    for (int i = 0; i < positions.size(); i++) { 
     getListView().setItemChecked(positions.keyAt(i), false); 
    } 

不是很優雅,但它的工作原理。