同一个Fragment重复加载的问题
问题:Fragment之间切换时每次都会调用onCreateView方法,导致每次Fragment的布局都重绘,但是,并不是所有页面都需要每次切换的时候都需要重新初始化,这个时候就需要做如下操作:
解决办法:在Fragment onCreateView方法中缓存View
@Override
public View onCreateView(LayoutInflater inflater, ViewGroupcontainer, Bundle savedInstanceState) {
if (mRootView== null) {
mRootView = super.onCreateView(inflater, container, savedInstanceState);
initResumeList();
}
//todo 初始化数据
//缓存的rootView需要判断是否已经被加过parent, 如果有parent需要从parent删除,要不然会发生这个rootview已经有parent的错误。
ViewGroup parent =(ViewGroup)mRootView.getParent();
if (parent!= null) {
parent.removeView(mRootView);
}
return mRootView;
}