Android Imageview的setOnTouchListener不起作用?

3

我正在使用ImageView的触摸监听器,在这个motion event中不起作用,为什么会出现这种情况,有人对此有什么想法吗?请帮帮我。

以下是我的代码:

   img_View11.setOnTouchListener(new View.OnTouchListener() {               
        public boolean onTouch(View v, MotionEvent event) {             
            Log.i("img_View11", "img_View11 _1");

            int action = event.getAction();
            switch (action) {

            case MotionEvent.ACTION_DOWN:
                Log.i("img_View11", "img_View11 _2");                                            
                break;

            case MotionEvent.ACTION_MOVE:
                Log.i("img_View11", "img_View11 _3");    
                break;

            case MotionEvent.ACTION_UP:
                Log.i("img_View11", "img_View11 _4");
                break;               
            }               
            return false;
        }
    });

这是我的输出,像这样:img_View11_1 和两个 img_View11_2

 Log.i("img_View11", "img_View11 _1");
 Log.i("img_View11", "img_View11 _2");

问题:为什么 MotionEvent.ACTION_MOVE 和 MotionEvent.ACTION_UP 没有作用?

1
onTouch() 中返回 true - user
@Luksprog 确实有效,是否可能仅设置我的 ImageView 的 ACTION_MOVE - NagarjunaReddy
我不明白你的评论(这是个问题吗?)。即使你只关心ACTION_MOVE,你仍然需要返回true,这样监听器才会持续接收事件。 - user
目前我设置了3种情况:ACTION_DOWN,ACTION_MOVE,ACTION_UP。但是只设置ACTION_MOVE时无法正常工作。请问有其他解决方法吗? - NagarjunaReddy
同时将ACTION_DOWN设置为返回true。 - user
1个回答

3
将“return false;”更改为“return true;”,以便它可以继续接收调用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接