2011-11-09 37 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); 
    } 

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