4

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

有任何想法吗?

谢谢你的支持!!!

4

1 回答 1

1

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

于 2012-05-12T04:30:10.893 回答