今天做项目在fragment中new一个adapter的时候总是报空指针,一直不明白为什么,后来终于发现,是adapter获取this对象的时候为空,
mAdapter = new ScrollAdapter(getAcitivity(), datas);
在这里面 getActivity()获取的对象经常为空,因为fragment有时候还没有加载到activity中,所以会获取不到对象,那问题就简单了,于是我就在fragment 的oncreate()方法中,获取getActivity()对象,
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
view = inflater.inflate(R.layout.date, container, false);
mContext = getActivity();
return view;
}
然后,new adapter的时候,
mAdapter = new ScrollAdapter(mContext, datas);
这样就不会再获取不到对象了