我正在尝试使用多个可选项目实现 RecyclerView。
这 是我尝试过的,但我无法让它工作。
这就是我想要做的:
原文由 Hegdekar 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在尝试使用多个可选项目实现 RecyclerView。
这 是我尝试过的,但我无法让它工作。
这就是我想要做的:
原文由 Hegdekar 发布,翻译遵循 CC BY-SA 4.0 许可协议
那些提到的自定义多选实现的创建工作正确,但当数据集很大时可能会出现性能问题。我强烈建议阅读 google 的 Advanced RecyclerView 自定义 文档。
原文由 Farruh Habibullaev 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答1.3k 阅读✓ 已解决
2 回答2.6k 阅读
2 回答1.7k 阅读
1 回答2.1k 阅读
1 回答1.1k 阅读
1 回答1.3k 阅读
1.3k 阅读
我知道现在回答这个问题有点晚了。而且我不知道它是否符合OP的要求。但这可能会对某人有所帮助。我用一个简单的技巧实现了这个多选 RecyclerView。这是我的代码。
activity_main.xml
item_row.xml
在
item_row.xml
android:clickable="true"
中很重要。MainActivity.java
模型.java
RecyclerViewAdapter.java
它是如何工作的?
onBindViewHolder()
方法将 ArrayList 中的数据绑定到 View 对象。因此,及时将数据绑定到视图,它从 ArrayList 获取单个对象,即Model model = mModelList.get(position);
与当前位置。现在我们需要检查该特定对象是否被选中。像这样,它返回
true
或false
。如果该对象已被选中,我们需要更改row_item
选中的背景颜色。为此,这里是代码如果选中它,将背景颜色更改为
cyan
否则white
。对于选择,我们需要使用
setOnClickListener()
方法。 (这里我只使用TextView
。所以我在TextView
上执行点击事件)。这里holder.view
表示整个单曲item_row
。 Onclick 将布尔值切换为true
或false
。在托管 RecyclerView 的 Activity 或 Fragment 中,您可以像这样获取选定的对象/项目
这是输出
编辑1: 限制用户只选择一项。
我希望它会有所帮助。