这个坑真的是玄学,报错信息显示rv没有绑定适配器,也就无法显示。不管怎么调试都没用:
这个rv是在fragment里的,最终确定问题发生在基类fragemnt中。
原来我的基类代码是这样:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
init(inflater.inflate(getResourseId(),null));
return inflater.inflate(getResourseId(),null);
}
其中的getResourceID是抽象方法,返回布局Id。
通过调试发现init方法在子类中没有调用
当我把代码换成:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view=inflater.inflate(getResourseId(),null);
init(view);
return view;
}
init就调用了,而且问题得到解决。可以发现两段代码其实相同,为什么效果完全不同嘞????