清除网格视图中的所有选定项目

时间:2015-06-23 13:21:30

标签: java android gridview arraylist expandablelistview

我在一个带有CHOICE_MODE_MULTIPLE的ExpandableListView中有一个gridview,当我按下按钮时我试图取消选择所有项目,但我这样做的方式只是取消选择最后一项,我怎么能清除所有这些项目?

>>> d = SD('2011365222309_30199_CS_2B-CLDCLASS_GRANULE_P_R04_E05.hdf')
>>> d.datasets()
{
  'cloud_scenario': (('nray:2B-CLDCLASS', 'nbin:2B-CLDCLASS'), (20434, 125), 22, 1), 
          'Height': (('nray:2B-CLDCLASS', 'nbin:2B-CLDCLASS'), (20434, 125), 22, 0)
}

2 个答案:

答案 0 :(得分:2)

尝试从包含列表的活动或片段调用listView.clearChoices();adapter.notifyDataSetChanged();,而不是在适配器内。

答案 1 :(得分:0)

您的问题是首先使用child.size,它返回1.
您从不同的角度来看孩子数。

@Override
public int getCount() {
    return child.size();
}

如果您在使用

child.size()内呼叫OnClickListener
public void onClick(final View v) {

您应该遍历列表的数组适配器,因为如果列表是可滚动的,则视图的child.counts将与已检查列表项的数量不同。因为视图中的项目(它们被回收)将少于列表中的项目。