madapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
RequestNet(list.get(position).getNu(),list.get(position).getCom());
}
});
请自查代码是否有误? 或者item的布局有特殊设置?
1、 item 包含 checkbox,setOnItemClickListener失效
2、setOnItemChildClickListener 空指针错误,
java.lang.NullPointerException
at com.chad.library.adapter.base.BaseViewHolder$1.onClick(BaseViewHolder.java:361)
看了源码是因为BaseViewHolder里面的adapter为null(addOnClickListener这句我也添加了),原因看起来是recyclerview..setAdapter(madapter);这句话并未执行BaseViewHolder里面的setAdapter,而是执行了recycleview里面的setAdapter
setOnItemChildClickListener 空指针错误,
java.lang.NullPointerException 这个bug 在新版本已经被修复,请问你使用的版本号是 ?
2.9.13
java.lang.NullPointerException: Attempt to invoke virtual method 'com.chad.library.adapter.base.BaseQuickAdapter$OnItemChildClickListener com.chad.library.adapter.base.BaseQuickAdapter.getOnItemChildClickListener()' on a null object reference
at com.chad.library.adapter.base.BaseViewHolder$1.onClick(BaseViewHolder.java:362)
找到方法了
自定义ViewHolder 重写onCreateViewHolder 方法并且在里面重写setAdapter 方法,然后在 自定义Viewholder中重写setAdapter 方法
1、onCreateViewHolder 中写下面的方法:
viewHolder.setAdapter(this);
2、viewholder中重写下面的方法:
@Override
protected BaseViewHolder setAdapter(BaseQuickAdapter adapter) {
return super.setAdapter(adapter);
}
Most helpful comment
找到方法了
自定义ViewHolder 重写onCreateViewHolder 方法并且在里面重写setAdapter 方法,然后在 自定义Viewholder中重写setAdapter 方法
1、onCreateViewHolder 中写下面的方法:
viewHolder.setAdapter(this);
2、viewholder中重写下面的方法:
@Override
protected BaseViewHolder setAdapter(BaseQuickAdapter adapter) {
return super.setAdapter(adapter);
}