2017-02-14 110 views
0

我有一個gridview 10x10,帶有字符。我正在製作字母湯,當用戶按下定位屏幕時,需要獲取元素,然後按住拖動並獲取事件。GridView項上的OnTouchListener項目

我正在測試在gridview的適配器上設置一個OnTouchListener,但我只能得到Down事件,而不是全部。

此代碼爲getView方法的內部,在適配器

textView.setOnTouchListener(new View.OnTouchListener() { 

     @Override 
     public boolean onTouch(View view, MotionEvent motionEvent) { 
      Log.d("ADAPTER", motionEvent.toString()); 
      return false; 
     } 
    }); 

如果我分配在GridView上的情況下,我必須得到元件的與座標中的位置和該字符不是正確。

回答

0

你可能需要將監聽器添加到GridView

gridView.setOnTouchListener(new OnTouchListener() { 
    public boolean onTouch(View v, MotionEvent me) { 

     int action = me.getActionMasked(); 
     float currentXPosition = me.getX(); 
     float currentYPosition = me.getY(); 
     int position = gridView.pointToPosition((int) currentXPosition, (int) currentYPosition); 
        if (action == MotionEvent.ACTION_DOWN) { 
         // Key was pressed here 
        } 

     return true; 
} 
+0

是的,我想它,但gridview.getChildAt()提供的元素是不是我在屏幕unpress –