在引入RecyclerView
(及其强制性ViewHolder
模式)之前,我通常会使用{{1}将任何点击事件委派给相应的Activity
/ Fragment
}。 (因为我在开发Android时主要将setOnItemClickListener()
/ Activity
视为“控制器”对象,因此应该对其进行任何视图修改。)
现在,因为Fragment
并没有真正对待它的孩子,并且不再为它实现RecyclerView
(或类似的)方法 - 我应该在哪里处理可能发生的点击事件?我不知道......但是在setOnItemClickListener()
处理它们对我来说似乎很尴尬。
我们该怎么做?
提前致谢!
答案 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。我认为这是最好的解决方案。
希望它会对你有所帮助。问候。