在MainActivity for Android中实现onItemClick函数有什么意义?

时间:2018-06-11 02:43:55

标签: android android-recyclerview

我发现人们为RecyclerView的适配器创建了一个自定义的侦听器接口(只有一个onListItemClick函数),然后在onListItemClick类中实现了监听器的MainActivity函数。最终,MainActivity被传递给适配器构造函数,以便将onListItemClick用于其视图持有者。我们为什么要在MainActivity类中执行此操作而不是在适配器或视图hodler类中执行此操作? 可以在链接上找到此示例: https://github.com/udacity/ud851-Exercises/compare/T03.07-Exercise-RecyclerViewClickHandling...T03.07-Solution-RecyclerViewClickHandling

1 个答案:

答案 0 :(得分:1)

使用RecyclerView时需要使用界面,因为与ListView不同,您不能直接在setOnItemClickListener()上使用RecyclerView来操作单个列表项。

由于动态和"回收" RecyclerView的性质,任何onClickListener()都必须应用于适配器内ViewHolder的视图。

这意味着必须使用接口在活动和适配器之间进行通信。