2011-12-30 78 views
1

的MotionEvent.ACTION_DOWN我已在OnTouchListener無法捕捉的GridView

gridview.setOnTouchListener(new View.OnTouchListener() { 

     @Override 
     public boolean onTouch(View v, MotionEvent event) { 
      // TODO Auto-generated method stub 
      if (event.getAction() == MotionEvent.ACTION_DOWN) { 

       start_x = event.getX(); 
       start_y = event.getY(); 
       Log.d(TAG,start_x + " " + start_y); 

      } 

但「如果」永遠不會執行語句體下面。但是,對於其他事件,如ACTION_MOVE,相應的'if'語句的主體會被執行。有人知道爲什麼

+0

您是否嘗試將返回值更改爲true或false,並查看它是否通過? – androidu 2011-12-30 22:20:46

+0

@MarciCăşvan是的,這是我第一次嘗試。 – 2011-12-31 04:01:13

回答

2

可能是由於另一個視圖正在使用DOWN事件。 嘗試在您的活動中重載「onTouchEvent(MotionEvent)」,並查看您是否能夠捕獲該事件。

+0

你是對的,因爲我發現onclick項目處理程序是問題的原因。我通過將相同類型的事件合併爲一個事件來解決問題。這就是我接受你的答案的原因。 – 2011-12-31 19:25:21