我在一个带有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)
}
答案 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将与已检查列表项的数量不同。因为视图中的项目(它们被回收)将少于列表中的项目。