我很头疼,花了几个小时来解决我的问题,但没有任何合理的结果。
我使用自定义适配器(扩展ArrayAdapter
)来显示列表视图项。此适配器实现OnTouchListener
. 还有一个背景选择器,当一个项目被触摸时,它的颜色会发生OnItemClickListener
变化ListViewActivity
。
ACTION_DOWN
我需要的是在适配器中捕获触摸事件(所有这些,不仅仅是)。当返回 false 时,不会捕获onTouch
连续事件(ACTION_CANCEL
等)。ACTION_UP
另一方面,返回 true 会停止调度所有其他事件(例如单击),以便onItemClick
永远不会触发 ListViewActivity。
我努力在 SO 和其他资源中找到任何可行的解决方案,但没有成功。
一个想法是不担心点击事件和背景。onTouch
我可以以编程方式设置背景并在操作为时以相同的方式触发点击事件ACTION_UP
,但view.performClick()
什么也不做(视图是onTouch
方法的第一个参数)。
[编辑]
为了清楚起见,我想在适配器中处理触摸事件,因为我需要项目中的文本视图在用户触摸它时进行选取。因此,在 中onTouch
,当动作等于 时ACTION_DOWN
,我分配true
给 textview 的 setSelected 属性,因此分配给false
whenACTION_CANCEL
或ACTION_UP
。
有什么建议么?
提前致谢。