gpt4 book ai didi

Android 避免在不使用 onSingleTapConfirmed 的情况下为双击调用单击两次

转载 作者:行者123 更新时间:2023-11-29 19:16:13 25 4
gpt4 key购买 nike

我的应用程序有一个可单击的 View ,然后当单击此 View 时,应调用 handleClickEvent()。我尝试为 View 设置 OnClickListener,但是当用户双击 View 时,handleClickEvent() 被调用两次。我不希望它在双击期间被调用两次。 IE。我希望 handleClickEvent() 在单击和双击时被调用一次。

我做了一些研究,发现了这个问题:Android detecting double tap without single tap first我尝试了答案中的建议,即使用 onSingleTapConfirmed() 方法实现 GestureDetector。这行得通,但是我注意到与使用 OnClickListener 相比,响应时间有明显的延迟。我认为这是因为 onSingleTapConfirmed() 只有在系统通过等待某个特定时间段确认这是一次点击后才会被调用。

有没有办法在没有明显延迟的情况下实现这一目标?我能想到的另一个选择是有一个 lastClickedTimeStamp 成员变量,将单击时的当前时间与 lastClickedTimeStamp 进行比较,如果它在某个阈值内,则不执行任何操作。

我想知道是否还有其他选择?

谢谢!

最佳答案

我的做法是将状态变量设置为 long 并将其命名为 timeOfLastTouch 并将其设置为 0。然后在每个 OnClickListener 函数中将此代码放入其

long currentTime = System.currentTimeMillis();
if (timeOfLastTouch + 100 < currentTime) {
// code
timeOfLastTouch = System.currentTimeMillis();
}

关于Android 避免在不使用 onSingleTapConfirmed 的情况下为双击调用单击两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43444307/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com