使用y坐标确定列表视图中的列表视图项位置

时间:2014-10-06 17:14:59

标签: android listview ontouchlistener motionevent

给定onTouch ListView对象上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()); } };

{{1}}

1 个答案:

答案 0 :(得分: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; 
}