0

我创建了一个活动,它有一个可扩展的类别列表视图,其中一些是子类别。它们都需要进行检查。我用于子类别,checkedTextView。对于类别,我使用了一个 textView 和一个复选框,因为当我们点击类别名称时,我们需要展开它(毕竟它是一个可展开的列表视图!)。对于选择,列表视图处于“多项选择模式”。适配器作为已检查项目的列表,在 getchild/getgroup view() 中,我将复选框(或 checkedtextview)设置为(列表视图的)sparsebooleanarray 给出的状态。对于我做的每个复选框:

holder.checkbox.setOnCheckedChangeListener(new checkListener(groupPosition));

所以当我选中一个复选框时,我知道它在列表视图中的位置。

但是我对那个实现有很多问题(给出的位置不好,等等)。我使用可扩展列表视图的方法来获取平面列表位置,但我怀疑可扩展列表视图与选择模式或选择并不真正兼容...

这是正确的吗 ?有人已经很难让一个类似的项目工作了吗?

4

1 回答 1

1

我发现一个帖子说这两种方式不兼容,但我不记得在哪里。

我坚持我发现的方式,通过为组关联一个布尔数组,为孩子关联一个二维布尔数组,每次单击一个组或一个孩子都会将布尔关联更改为该位置。

它有点重,但它有效,我们可以做任何我们想做的事情。

于 2011-08-10T08:52:57.863 回答