2014-10-06 105 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

相關問題