使用y坐标确定列表视图中列表视图项的位置
问题描述:
如果给定的onTouch
对ListView
对象获得的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());
}
};
答
一旦你有可用的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;
}
感谢@Heskja。这真的很有帮助。 – KDeogharkar 2015-08-03 07:26:19