如何在模拟器上测试触摸事件

4

我有一些代码用于检查ImageView上的onTouchEvent事件。

public boolean onTouchEvent(MotionEvent event) {
        if(event.getAction() == MotionEvent.ACTION_DOWN) {
            Log.d("M", "down");
        }
        if(event.getAction() == MotionEvent.ACTION_MOVE) {
            Log.d("M", "moved");
        }
        return super.onTouchEvent(event);
    }

但是我无法在模拟器上测试这个。有人可以帮我吗?


1
也许是个傻问题,但您不能使用鼠标吗? - sschrass
我也感到非常困惑,然后我用Toast消息替换了Log,突然间我能看到鼠标点击起作用了!!但是动作移动仍然没有触发,有什么想法吗? - prateeksarda
1个回答

0

触摸事件应该已经通过鼠标模拟了(不是故意的双关语)。 尝试像这样设置您的监听器:

 yourImageView.setOnTouchListener(new OnTouchListener()
        {
            @Override
            public boolean onTouch(View v, MotionEvent event)
            {
                return false;
            }
       });

摘自this之前的问题。


实际上,我正在重写View类中的onTouchEvent方法。 - prateeksarda
你的方法是 onTouchEvent(MotionEvent e)。我建议的是 onTouch(View v, MotionEvent e)。它们是两种不同的方法,我从未见过第一种方法被使用,所以我认为值得一试。 - crocboy
事实上,我刚刚在模拟器上尝试了我的方法,一切都运行正常。 - crocboy

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