我创建了一个活动,它有一个可扩展的类别列表视图,其中一些作为子类别。 他们都需要检查。我用于子类别,checkedTextView。对于类别,我使用了textView和一个复选框,因为当我们点击类别名称时,我们需要展开它(毕竟它是一个可扩展的列表视图!)。 对于选择,列表视图处于“多选模式”。 适配器作为已检查项的列表,在getchild / getgroup视图()中,我将复选框(或checkedtextview)设置为sparsebooleanarray(listview)给出的状态。 对于我执行的每个复选框:
holder.checkbox.setOnCheckedChangeListener(new checkListener(groupPosition));
所以当我选中一个复选框时,我知道它在列表视图中的位置。
但是我对这些实现有很多问题(给出的位置不好等等)。 我使用可扩展列表视图的方法获取flatlistposition,但我怀疑可扩展列表视图与choiceMode或选择不是真正兼容...
这是对的吗?有人已经很难让类似的项目工作吗?
答案 0 :(得分:1)
我发现一篇帖子说这两种方式不相容,但我记不起来了。
我坚持我找到的方式,通过关联组的布尔数组和子项的二维布尔数组,每次点击组或子项都会将布尔关联更改为位置。
它有点沉重,但它有效,我们可以做任何我们想做的事。