我有一个按钮,它使用onclicklistener和onlongclicklistener,还有一个使用ontouchlistener的按钮...
重点是,按钮1按下0.1秒,按钮2按下2秒,按钮3可能会按下50秒甚至更长时间... 但是按钮3被视为长按,而不是在5秒后释放触摸,因此它不会触发我的动作。
我使用了:
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时,它可以正常工作。
有什么想法吗?
感谢您的支持!