使用OnTouchListener和OnLongClickListener会相互干扰

时间:2012-05-11 12:22:29

标签: android ontouchlistener onlongclicklistener

我有一个使用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时,它工作正常..

有什么想法吗?

感谢您的支持!!!

1 个答案:

答案 0 :(得分:1)

您可以在按钮3上使用View.setLongClickable(false)