我有一个使用 onclicklistener 和 onlongclicklistener 的按钮,还有一个使用 ontouchlistener 的按钮...
重点是按钮 1 被按下 0.1 秒,按钮 2 被按下 2 秒,按钮 3 可以被按下 50 秒甚至更长时间......但是按钮 3 被视为长按而不是触摸后释放5 秒,所以它不会触发我的 Action
我用过:
MainActivity extends Activity implements View.OnClickListener,
View.OnLongClickListener, View.OnTouchListener {
button1.setOnClickListener(this);
button2.setOnLongClickListener(this);
button3.setOnTouchListener(this);
public boolean onTouch(View v, MotionEvent event) {
switch (v.getId()) {
case R.id.button3:
if(event.getAction() == MotionEvent.ACTION_DOWN) {
DoTest1();
} else if (event.getAction() == MotionEvent.ACTION_UP) {
DoTest2();
}
break;
}
return false;
}
当我删除 onlongclicklistener 时它工作正常..
有什么想法吗?
感谢您的支持!!!
最佳答案
您可以在按钮 3 上使用 View.setLongClickable(false)
。
关于android - 使用 OnTouchListener 和 OnLongClickListener 相互干扰,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10551261/