2012-10-29 271 views
0

我正在使用onTouchListener进行布局。我想在布局外进行点击。我为onTouchListetener设置了布局。但运动事件总是显示ACTION_DOWN。即使我碰到了这个视图,它并没有显示ACTION_OUTSIDE。任何人都可以帮助我找出为什么它不显示常量ACTION_OUTSIDE。下面是我使用为什么getAction方法总是返回ACTION_DOWN?

Layout.setOnTouchListener(new View.OnTouchListener() { 

    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
     Log.i("action",event.getAction()+""); 
     if (event.getAction() == MotionEvent.ACTION_OUTSIDE) { 
      Toast.makeText(getApplicationContext(), "check", Toast.LENGTH_SHORT).show(); 
      return true; 
     } 

     return false; 
    } 
}); 

回答

2

代码如果返回false,那么你就代表着你不希望再收到触摸事件。您需要返回true以继续获取动作事件。

1

事件侦听器本身一次侦听一个事件动作。首先当然是ACTION.DOWN,其中的吐司显示。

就像Jason Robinson和user936414一样,您必须将其返回true以便对象或侦听器可以在这里执行第二个事件动作ACTION.OUTSIDE。

相关问题