- 使用案例**
我有一个RecyclerView
,它的ViewHolder
包含一个TextInputLayout
。在某些情况下,我希望它显示一个hint
,而在其他情况下,我不希望它显示。
- 问题**
当RecyclerView
回收先前显示hint
但在新bind
上不需要hint
的ViewHolder
时,将显示空提示。请参见图片:
Image for NOT recycled ViewHolder
Image for recycled ViewHolder
这个问题似乎只有在新绑定没有hint
的情况下才会发生。如果我用不同的值为每个ViewHolder
设置一个hint
,它会正确地回收和显示。
- 片段**
Adapter.kt
override fun onBindViewHolder(holder: FormViewHolder, position: Int) {
holder.onBind(getItem(position))
}
ViewHolder.kt
override fun onBind(model: Model) {
binding.inputLayout.isHintEnabled = model.hasHint
binding.inputLayout.isHintAnimationEnabled = model.hasHint
binding.inputLayout.hint = model.hintValue
}
我试过:
- 更新至最新版本ATM:
com.google.android.material:material:1.8.0
1条答案
按热度按时间vhmi4jdf1#
我没有看到问题在你的代码,所以,当然这听起来像一个bug,但你可以尝试:
1.聚焦。
1.设置文本颜色。
1.在onBind viewholder方法中对文本输入布局调用invalidate()。
看看系统的React。