捕获触摸事件而不消耗它们

时间:2013-01-30 15:39:21

标签: android listview custom-adapter touch-event

我头疼得厉害,花了几个小时来解决我的问题,没有任何合理的结果。

我使用自定义适配器(扩展ArrayAdapter)来显示listview项目。此适配器实现OnTouchListener。还有一个背景选择器,当触摸某个项目时,颜色会发生变化,而OnItemClickListener中会ListViewActivity

我需要的是在适配器中捕获触摸事件(所有这些事件,而不仅仅是ACTION_DOWN)。当onTouch返回false时,不会捕获连续事件(ACTION_CANCELACTION_UP等)。另一方面,返回true会停止调度所有其他事件(例如,单击),以便从不触发ListViewActivity的onItemClick

我努力在SO和其他资源中找到任何可行的解决方案,但没有成功。

一个想法是不担心点击事件和背景。当onTouch操作为ACTION_UP时,我可以以编程方式设置背景并触发点击事件,但view.performClick()不执行任何操作(视图是onTouch方法的第一个参数)

[编辑]

为了说清楚,我想处理适配器中的触摸事件,因为当用户触摸它时,我需要项目中的textview到字幕。因此,在onTouch中,当操作等于ACTION_DOWN时,我会将true分配给textview的setSelected属性,因此falseACTION_CANCEL或{{ACTION_UP 1}}。

有什么建议吗?

提前致谢。

0 个答案:

没有答案