gpt4 book ai didi

java - 如果 setOnLongClickListener 已执行,Android 不会执行 setOnTouchListener

转载 作者:行者123 更新时间:2023-12-02 04:53:02 27 4
gpt4 key购买 nike

我有一个应用程序,您可以在其中按屏幕并执行一个方法,并且您可以在其中长按并执行另一个方法。问题是,当我长按屏幕时,正常的 onClickListener 也会被执行,这是我不想要的。它们都是简单的onClickListeners,普通的是使用MotionEvent ACTION_UP。有什么办法可以防止这种情况发生吗?所以我不想在执行onLongClickListener时执行普通onTouchListener中的ACTION_UP。

代码:

layout.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_UP) {

}
return false;
}
});
layout.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
return true;
}
});

最佳答案

如果你还想 onTouch

    int flag=0
layout.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_UP) {
if(flag==0){
//do something
}else{
flag=0;
}

}
return false;
}
});
layout.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
flag=1
return true;
}
});

关于java - 如果 setOnLongClickListener 已执行,Android 不会执行 setOnTouchListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29038216/

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