Android:setOnLongClickListener() 不可靠

标签 android android-layout android-listview android-view android-ui

我使用 setOnLongClickListener() 添加了一个长按监听器.通常,长按监听器会按预期调用。然而,有时长按似乎被中止了( View 高亮显示,但随后取消高亮显示,即使它仍然被按下)。这似乎发生在 View 层次结构的其他部分正在更新时(进度条、计数器、动画等)。

是否有任何已知的特定因素可以中断或中止长时间点击?

最佳答案

这似乎是由可变宽度 TextView (android:layout_width="wrap_content") 引起的。在用户开始长按之后但在长按持续时间结束之前,显示的文本偶尔会发生变化,从而阻止调用监听器。标签宽度的变化会触发布局 channel ,使长按无效。

我们能够通过确保 View 在文本更改时保持固定宽度来解决这个问题。

关于Android:setOnLongClickListener() 不可靠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17309128/

相关文章:

android - 在 Firebase 中,我可以将一个用户连接到多个表吗?

android - 如何创建最高质量的 Android 按钮?

android - 如何处理ListView Item LongPress手势

android - ScrollView 内的 glsurfaceview,移动但不剪切

android - ListView.set.adapter 导致 NullPointerException

ListView Adapter 中的 Android OnClickListener 更改了另一行

java - 读取写入 Firebase 实时数据库

android - “在旧版本上调用新方法”lint 检查未发现高于 Android Studio 中的最小 api 调用

Android - 增量状态栏通知图标

xml - 为什么内容在删除 scrollFlags `scroll` 后被拖动?