2017-02-14 66 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 –