我使用 setOnLongClickListener()
添加了一个长按监听器.通常,长按监听器会按预期调用。然而,有时长按似乎被中止了( View 高亮显示,但随后取消高亮显示,即使它仍然被按下)。这似乎发生在 View 层次结构的其他部分正在更新时(进度条、计数器、动画等)。
是否有任何已知的特定因素可以中断或中止长时间点击?
最佳答案
这似乎是由可变宽度 TextView
(android:layout_width="wrap_content"
) 引起的。在用户开始长按之后但在长按持续时间结束之前,显示的文本偶尔会发生变化,从而阻止调用监听器。标签宽度的变化会触发布局 channel ,使长按无效。
我们能够通过确保 View 在文本更改时保持固定宽度来解决这个问题。
关于Android:setOnLongClickListener() 不可靠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17309128/