RecyclerView - 我应该在哪里处理其点击事件?

时间:2014-12-24 06:50:22

标签: android android-adapter android-adapterview

在引入RecyclerView(及其强制性ViewHolder模式)之前,我通常会使用{{1}将任何点击事件委派给相应的Activity / Fragment }。 (因为我在开发Android时主要将setOnItemClickListener() / Activity视为“控制器”对象,因此应该对其进行任何视图修改。)

现在,因为Fragment并没有真正对待它的孩子,并且不再为它实现RecyclerView(或类似的)方法 - 我应该在哪里处理可能发生的点击事件?我不知道......但是在setOnItemClickListener()处理它们对我来说似乎很尴尬。

我们该怎么做?

提前致谢!

2 个答案:

答案 0 :(得分:4)

像往常一样为循环器视图创建自己的viewHolder,并在onBindView方法中,将click监听器设置为您希望执行单击的视图。

@Override
public void onBindViewHolder(final ViewHolder viewHolder, int position) {
viewHolder.mRelContent.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            // perform ur click here
        }
    });
}

答案 1 :(得分:4)

RecyclerView.OnItemTouchListener的雅各布implementation。我认为这是最好的解决方案。

希望它会对你有所帮助。问候。