我正在遵循这个tutorial和source code通过使用运动布局来实现折叠工具栏。当您在recyclerView上执行“快速滚动”,然后在recyclerView的任何项目上执行单击事件时,此事件仅在您第二次单击后才起作用。或者,您必须等待2-3秒,然后才能执行单击事件。否则,无法将单击事件调度到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()
}
}发布于 2019-09-17 01:52:43
将ConstraintLayout更新到版本2.0.0-beta2
https://stackoverflow.com/questions/55055714
复制相似问题