最近用RecyclerView做了一些需求,感叹RecyclerView灵活易用的同时不禁产生了这样的疑问:为什么Google不让RecyclerView提供像ListView一样的setOnItemclickListener方法,而一定要开发者绞尽脑汁来自己实现呢?
实在想不通Google的工程师们到底是什么居心?为什么要阉割掉大家在ListView时代已经用惯了的Item点击监听?这里面到底隐藏着什么深奥的道理?求大神们指点一二!
-
ListView
的OnItemClickListener
和itemView
的OnClickListener
会冲突。如果Item上有多个点击事件需要处理,实践中往往会放弃OnItemClickListener
,而选择对Item的子View
设置OnClickListener
。 - 而
RecyclerView
则让开发者专注于每个Item和用户的交互。所有的点击事件都由开发者自己添加到itemView
上,从而增加开发的灵活度。