2014-10-06 68 views
2

如果给定的onTouchListView对象获得的y坐标,如何根据motionEvent.getY()确定触摸项的位置/索引?使用y坐标确定列表视图中列表视图项的位置

不幸的是我不能使用onItemClickListener

getListView().setOnTouchListener(listViewTouchListener); 

View.OnTouchListener listViewTouchListener = new View.OnTouchListener() { 
     @Override 
     public boolean onTouch(View view, MotionEvent motionEvent) { 
      Log.d("test", "Y pos: " + motionEvent.getY()); 
     } 
}; 

回答

5

一旦你有可用的MotionEvent对象,你可以这样做

private ListView list; 

<some code to initialize ListView> 

public int getPosition(MotionEvent e1){ 
    int pos = list.pointToPosition((int)e1.getX(), (int)e1.getY()); 
    Log.d("test","Position: "+pos); 
    return pos; 
} 
+0

感谢@Heskja。这真的很有帮助。 – KDeogharkar 2015-08-03 07:26:19