我添加了一个长按监听器,使用setOnLongClickListener()
. 一般情况下,长按监听器会按预期调用。但是,有时长单击似乎被中止(视图突出显示,但即使它仍然被按下,也会取消突出显示)。当视图层次结构的其他部分正在更新(进度条、计数器、动画等)时,这似乎会发生。
是否有任何已知的特定内容会中断或中止长点击期?
我添加了一个长按监听器,使用setOnLongClickListener()
. 一般情况下,长按监听器会按预期调用。但是,有时长单击似乎被中止(视图突出显示,但即使它仍然被按下,也会取消突出显示)。当视图层次结构的其他部分正在更新(进度条、计数器、动画等)时,这似乎会发生。
是否有任何已知的特定内容会中断或中止长点击期?
这似乎是由可变宽度TextView
( android:layout_width="wrap_content"
) 引起的。在用户开始长按之后但在长按持续时间过去之前,显示的文本偶尔会发生变化,从而阻止调用侦听器。标签宽度的变化会触发布局通道,使长按无效。
我们能够通过确保视图在文本更改时保持固定宽度来解决这个问题。
您可以在新的可运行文件中更新您的 UI
final Runnable runnable = new Runnable(){ public void run() { updateYourUIHere(); } };
你的 onLongClickListener 也不会崩溃