Search code examples
javaandroidmotion-detection

Which items are sensitive to MotionEvent.ACTION_MOVE?


I am setting OnTouchListener to a Button, I can check if motion type is MotionEvent.ACTION_MOVE. On the other hand if it is TextView, I cannot get any moment of MotionEvent.ACTION_MOVE

For example take a look at the code below:

public boolean onTouch(View view, MotionEvent me) {
    if (me.getAction() == MotionEvent.ACTION_DOWN) {
        Log.e(TAG,"1");
    }
    if (me.getAction() == MotionEvent.ACTION_UP) {
        Log.e(TAG,"2");
    } else if (me.getAction() == MotionEvent.ACTION_MOVE) {
        Log.e(TAG,"3");
    }
    return false;
}

if I bind this listener to a Button, I can see "3" in my logs, on the other hand, if I bind this to an ImageView or etc. I cannot see any "3". but "1" and "2" are acting normal for both situation.

So the question is (if I am not mistaken) which items are MotionEvent.ACTION_MOVE sensitive?


Solution

  • Try implementing OnClickListener also..like this..and put onClick empty.. I think it then detects ACTION_MOVE, along with ACTION_UP and ACTION_DOWN..

    class MyActivity implements View.OnTouchListerner, View.OnClickListener{
        .....
        public void onClick(View v) {}
        .....
    }