Android ListView删除选择

时间:2011-11-09 19:51:13

标签: android android-listview

有没有办法优雅地删除ListView上的选择。它将以与ListView#setSelection(int position)相反的方式起作用。我想以编程方式从ListView中删除选择(这样就不会选择任何项目)。似乎API没有一种简单的方法可以做到这一点。有什么想法吗?

我的问题类似于:Android: disable ListView selection

5 个答案:

答案 0 :(得分:3)

其他答案都没有对我有用,所以我这样做了:

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

不是很优雅,但它有效。

答案 1 :(得分:0)

好的,我可以为此设置选择颜色和背景两种相同的颜色,如果可能的话 或设置具有完整alpha值的选择,使其透明,即使选择在那里也不再可见

答案 2 :(得分:0)

我能找到的最简单方法是刷新ListView正在使用的适配器:

listAdapter.notifyDataSetChanged();
然后

ListView将刷新,具有相同的选择,但选择突出显示将被清除。

答案 3 :(得分:0)

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

答案 4 :(得分:0)

我使用此方法清除ListView选择:
listView.SelectedItem = null;