MotionEvent.ACTION_UP в Textview - PullRequest
       28

MotionEvent.ACTION_UP в Textview

6 голосов
/ 03 августа 2011

Мой TextView не поддерживает MotionEvent.Action_UP.Я получаю только 0 на event.getAction.

Но тот же код работает идеально для ImageButton.

Разве Textview не поддерживает MotionEvent.Action_UP?

   textView.setOnTouchListener(new OnTouchListener() {    
                @Override
                public boolean onTouch(final View v, final MotionEvent event) {
                    Log.v("tag","textView"+event.getAction());
                    if (event.getAction() == MotionEvent.ACTION_DOWN) {
                        Log.v("tag","textViewmousedown");
                    } else if(event.getAction() == MotionEvent.ACTION_UP) {
                        //This gets never called
                        Log.v("tag","textViewmouseup");
                        if (standardButtonClickListener != null) {
                            standardButtonClickListener.onStandardButtonClick(v);
                        }
                    }
                    return false;
                }
            });

Ответы [ 2 ]

13 голосов
/ 03 августа 2011

Вы должны вернуть true вместо false в вашем onTouch методе.Таким образом, дальнейшие события будут доставлены вашему слушателю.

0 голосов
/ 04 апреля 2014

Не забудьте MotionEvent.ACTION_CANCEL

 @Override
    public boolean onTouch(final View view, final MotionEvent motionEvent) {

        if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
                setColorFilter(Color.argb(155, 185, 185, 185));
        }
        else if (motionEvent.getAction() == MotionEvent.ACTION_UP || motionEvent.getAction() == MotionEvent.ACTION_CANCEL) {
                setColorFilter(Color.argb(0, 185, 185, 185));

        }
        return false;
    }
...