【问题标题】:OnItemClickListener vs OnItemTouchListenerOnItemClickListener 与 OnItemTouchListener
【发布时间】:2016-07-31 13:57:50
【问题描述】:
我读过很多关于在RecyclerView 中实现OnItemClickListener 的帖子,但是我读的越多,我就越困惑。看来我们有两种方法可以实现OnItemClickListener:
- 在适配器内添加
setOnClickListener,如图here
- 实现
RecyclerView.OnItemTouchListener,如图here
当我阅读帖子时,我发现第一种方法比第二种方法更好并且具有更多功能。例如,有项目点击支持。第二种方法有什么好处?为什么以及什么时候应该使用它?有什么建议吗?
【问题讨论】:
标签:
android
android-recyclerview
onclicklistener
【解决方案1】:
OnItemTouchListener 的功能与普通的OnItemClickListener 略有不同。使用OnItemTouchListener,可以允许应用程序拦截来自View 层次结构的触摸事件。这基本上意味着您可以实现各种形式的手势操作,例如直接滑入您的RecyclerView 的Views。
什么时候应该使用它?
当您需要确定当用户单击您的RecyclerView 中的View 时会发生什么时,应该使用OnItemClickListener。这可能是删除某些内容或启动新活动。 OnItemTouchListener 通常用于为您的RecyclerView 中的某些Views 创建手势交互。
如果您想在您的RecyclerView 中实现OnItemTouchListener,您需要确定您要使用的MotionEvent。有关更多信息,我建议您从 Android 开发者网站了解更多关于 OnItemTouchListener 的信息。