ExpandableListView 和 CheckTextView/Checkbox 之间的 Android 兼容性

发布于 2024-11-07 11:41:54 字数 538 浏览 5 评论 0原文

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

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

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

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

这是对的吗?有人已经很难让类似的项目正常运行了吗?

I've created an activity, which has an expandable list view of category, and some of them as subcategory.
They all need to be checkable. I used for subcategory, a checkedTextView. For category, I used a textView and a checkbox, because when we click on the category name, we need to expand it (it is an expandable list view after all !).
For the selection, the listview is on "Multiple Choice Mode".
The adapter as the list of checked items, and in the getchild/getgroup view(), I set the checkbox (or the checkedtextview) to the state given by the sparsebooleanarray (of the listview).
For each checkbox i do :

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

so when i check a checkbox, i know what position it is in the listview.

But I have a lot of problem with that implementations (the position given is not good, etc).
I use the method of expandable list view for get the flatlistposition, but I suspect the expandable list view isn't really compatible with the choiceMode or selection...

Is this right ? Did somebody already had difficulty to get a similar project working ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

迎风吟唱 2024-11-14 11:41:55

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

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

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

I've found a post that say that the two way are incompatible, but I can't remember where.

I stick to the way I found, by associating a boolean array for groups, and a two dimensional boolean array for childs, and each click on a group or a child will change the boolean associate to the position.

It's a bit heavy but it works and we can do anything we want.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文