android - RecyclerView 在自定义视图中重用变量
问题描述
我正在创建一个自定义 ExpandableTextView 以在 RecyclerView 中使用。
class ExpandableTextView : AppCompatTextView, View.OnClickListener {
private var isCollapsed = true
...
自定义视图本身可以工作,但在 RecyclerView 中使用时,展开状态也与 ViewHolder 一起回收。我怀疑 varisCollapsed
也被重用了。如何让 RecyclerView 正确显示 TextView 及其展开状态?我可以让我的变量不被重用吗?
请帮我找到一些解决方案。任何答案都会有很大帮助!
编辑:我添加了一个 gif来澄清。当我单击第一个 TextView 时,最后一个也会展开。抱歉,我还不能发布图片!
解决方案
这是您可以做的isCollapsed
公开变量的操作,以便您可以从外部更改它
class ExpandableTextView : AppCompatTextView, View.OnClickListener {
var isCollapsed = true
...
你的适配器
override fun onBindViewHolder(viewHolder :YourViewHolder, position:Int) {
viewHolder.expandleTextView.isCollapsed = true
// Rest of your code
}
推荐阅读
- firebase - 为什么我无法将我的 Google Firebase 计划从 spark 升级到 blaze?
- php - Wordpress sql查询结果与phpmyadmin中的sql查询查询不同的顺序
- node.js - 如何在身份验证中检查令牌
- api - 使用 IAsyncEnumerable
作为 ASP.NET Web API 中的 API 输出 - mesh - OpenFOAM blockMesh 圆柱网格及其 paraFoam 绘制面法线
- r - geom_sf 具有连续值和 NA ggplot R
- jakarta-ee - Vaadin 延迟加载网格错误:java.lang.IndexOutOfBoundsException:索引 0 超出长度 0 的范围
- sql - Scope_identity 给出空值?
- python - MATLAB 类型转换函数的等效 Python 函数
- python - admin_order_field 未按降序排序