1 onTouchListener适用于许多按钮

时间:2014-03-27 14:27:36

标签: android

我有像这样的onTouchListener方法

public void imageclick(ImageView image) {
    image.setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            switch (event.getAction()) {

            case MotionEvent.ACTION_DOWN: {


                //To do! smthg break;
            }
            case MotionEvent.ACTION_UP: {

                //To do! smthg break;

            }
            case MotionEvent.ACTION_CANCEL: {
                //To do!
                break;
            }
            }

            return true;
        }
    });
}

我想将此方法用于我的按钮,但它无法正常工作,需要双倍或更多触摸来触发ACTION_UP事件

1 个答案:

答案 0 :(得分:1)

您可以设置Activity工具View.OnTouchListener,并为所有按钮拨打button.setOnTouchListener(this)

为所有按钮设置不同的ID。 如何区分按钮:

OnTouch(View v, MotionEvent event) {
    switch (v.getId()) {
        case R.id.button1:
        break;
        case R.id.button2:
        break;
        default:
        break;
    }
}