1.新建RecycleViewAdapter类,继承自RecyclerView.Adapter<RecycleViewAdapter>,添加如下方法:
private View.OnClickListener getOnClickListener(final int position) {
return new View.OnClickListener() {
@Override
public void onClick(View v) {
if (m_listener != null && v != null) {
m_listener.onRecyclerItemClick(v, m_items.get(position), position);
}
}
};
}
// 增加点击监听
public void setItemListener(onRecyclerItemClickerListener mListener) {
this.m_listener = mListener;
}
// 点击监听回调接口
public interface onRecyclerItemClickerListener {
void onRecyclerItemClick(View view, Object data, int position);
}
2.复写onBindViewHolder方法,代码如下:
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position, @NonNull List<Object> payloads) {
super.onBindViewHolder(holder, position, payloads);
holder.m_itemTitle.setText(m_items.get(position).m_title);
holder.m_itemTitle.setOnClickListener(getOnClickListener(position));
holder.m_itemImage.setText(m_items.get(position).m_image);
}
3.在Fragment中设置RecyclerViewAdapter的点击事件回调函数,代码如下:
m_accountRecycleViewAdapter = new RecycleViewAdapter(this, context, R.layout.recycleview_linear_item, m_data, m_itemImagefont);
m_accountRecycleViewAdapter.setItemListener(new RecycleViewAdapter.onRecyclerItemClickerListener() {
@Override
public void onRecyclerItemClick(View view, Object data, int position) {
String className = data.getClass().getName().toString();
Log.d(TAG, "-- Lee -- onRecyclerItemClick class name: " + className);
}
});
参考文献:
[1] 英勇青铜5.Android——RecyclerView入门学习之RecyclerView.Adapter(三)[EB/OL].https://www.jianshu.com/p/b2e6ad1af557, 2016.10.21 16:40
本文详细介绍如何在Android项目中为RecyclerView添加点击监听事件,包括自定义Adapter、实现点击监听接口及在Fragment中设置回调函数的过程。
2316

被折叠的 条评论
为什么被折叠?



