有谁能告诉我如何找到与列表视图相关联的触摸事件的相关列表项ID?
我希望在用户按下列表项时将其设置为不同的颜色,并在发布时将其更改回来。我更喜欢使用代码而不是背景设置。 我已经有一个onclicklistener,但是想要让这个ontouchlistener工作。
答案 0 :(得分:1)
我知道这是一个老问题。但是,如果其他人有同样的问题,解决方案是在派生AbsListView的类中找到的pointToPosition方法。
public boolean onTouch(View arg0, MotionEvent arg1) {
// ... other logic ...
int lListViewPosition = mYourListView.pointToPosition((int)arg1.getX(), (int)arg1.getY());
// get the item id
int lItemId = mYourListView.getItemIdAtPosition(lListViewPosition);
// or get the actual item
Object lYourItemObj = mYourListView.getItemAtPosition(lListViewPosition);
}
答案 1 :(得分:0)
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
// Get the item that was clicked
Object o = this.getListAdapter().getItem(position);
//do Magic
}
希望这有帮助!