我正在遵循此tutorial和source code通过使用运动版式来实现折叠工具栏。 当您在recyclerView上执行“快速滚动”,然后对recyclerView的任何项目执行click事件时,此事件仅在您第二次单击后才起作用。或者,您必须等待2-3秒,然后点击事件才能正常工作。否则,click事件无法调度到recyclerView。 (假设它等待在MotionLayout上完成动画)。我们如何解决这个问题?
任何人都可以通过将以下代码添加到文章源代码的适配器中来模拟问题。并快速滚动。
class ViewHolder(
view: View,
private val textView: TextView = view.findViewById(android.R.id.text1)
) : RecyclerView.ViewHolder(view) {
var text: CharSequence
get() = textView.text
set(value) {
textView.text = value
}
init {
view.setOnClickListener { showMessage(it) }
}
private fun showMessage(view: View) {
Toast.makeText(view.context, "OnClickListener: item ${adapterPosition + 1}", Toast.LENGTH_SHORT).show()
}
}
答案 0 :(得分:0)
将ConstraintLayout更新为2.0.0-beta2版本