我想从我的 ListView 和 setOnTouchListener 中获取一个项目,以下是我的代码,但我无法正确设置它。
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View selectedView,
int position, long id) {
Log.d("ON ITEM CLICK...", " ON ITEM CLICK... "+ position);
listView.getChildAt(position).setOnTouchListener(HorizontalListActivity.this);
ViewHolder viewHolder =(ViewHolder)selectedView.getTag();
viewHolder.ivThumbnail.setOnTouchListener(HorizontalListActivity.this);
}
});
我想要访问该项目的原因是我想将它拖到屏幕上。
有没有更好的方法来做我想做的事?
最佳答案
我遇到了同样的情况,找到了一些可能有用的东西,但我还没有时间去尝试。基本思想是像您一样使用 getChildAt 将触摸事件分派(dispatch)给 child 。你在 ListView 中监听触摸事件,如果你触摸了你感兴趣的 View ,就将触摸事件分派(dispatch)给它来处理它:
MyControl control = ListViews.getChildAt(position));
control.onTouchEvent(touchEvent);
关于android - 如何为 ListView 中的项目设置 OnTouchListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9698055/