Textview上的MotionEvent.ACTION_UP

时间:2011-08-03 09:24:58

标签: android textview listener mouseevent

我的TextView不支持MotionEvent.Action_UP。我只在event.getAction上得到0。

但是相同的代码对于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 个答案:

答案 0 :(得分:13)

您必须在true方法中返回false而不是onTouch。这样,其他事件将传递给您的听众。

答案 1 :(得分:-1)

别忘了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;
    }