【发布时间】:2012-03-14 08:14:02
【问题描述】:
我想从我的 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);
}
});
我想访问该项目的原因是我想将它拖到屏幕上。
有没有更好的方法来做我想做的事?
【问题讨论】:
-
尝试将
listView.getChildAt(position).setOnTouchListener更改为selectedView.setOnTouchListener或在getView方法中,当初始化ivThumbnail时,使用setOnTouchListener -
那也不起作用,onTouch 没有被触发
-
setOnTouchListener不是触发onTouch事件,只是设置监听器,只有下次触发时,才会调用OnTouchListner接口方法。 -
我摸了两次,还是不行..
-
我以前遇到过触摸事件的问题,问题是父视图正在窃取它们,因此孩子从未看到它们。因此,在您的情况下,
ListView正在窃取触摸事件,因此ListView元素永远不会得到它们。不幸的是,我对如何修复它没有任何建议。
标签: android android-listview android-view