Viewholders和setOnClickListeners

时间:2015-05-25 14:43:42

标签: android onclicklistener

我有一个RecyclerView项目列表。单个列表项是ImageViewTextView。点击它们时会有不同的行为。单个列表项是借助ViewHolder呈现的。

我应该在.setOnClickListener()ImageView拨打TextView电话?在ViewHolder中?或者当视图绑定时,在RecyclerView的onBindViewHolder方法内部?

2 个答案:

答案 0 :(得分:1)

在绑定onBindViewHolderImageView时,在TextView方法内部调用它。如果您在ViewHolder本身上设置它,那么将为RecyclerView中的整个列表项触发onClick()。

答案 1 :(得分:1)

来自 ViewHold 的官方文档:

  

ViewHolder描述项目视图和有关其位置的元数据   在RecyclerView中。

所以你应该避免在视图中做任何其他事情,而是在 onBindViewHolder

中使用 RecyclerView

如果您查看GitHub上的 Google 所做的示例,您会看到Google未在ViewHolder中设置侦听器