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

Jor*_*n H 2 android listview ontouchlistener motionevent

鉴于y坐标通过获得onTouch一个上ListView对象,你怎么能确定已经基于感动项目位置/指数 motionEvent.getY()

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());
        }
};
Run Code Online (Sandbox Code Playgroud)

Hes*_*kja 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; 
}
Run Code Online (Sandbox Code Playgroud)