Android fragment 缓存view

private View rootView;// 缓存Fragment view@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    Log.v("onCreateView", "onCreateView");
    if (rootView == null) {
        rootView = inflater.inflate(R.layout.fragment_main_tab, null);
    }
    // 缓存的rootView需要判断是否已经被加过parent,
    // 如果有parent需要从parent删除,要不然会发生这个rootview已经有parent的错误。
    ViewGroup parent = (ViewGroup) rootView.getParent();
    if (parent != null) {
        parent.removeView(rootView);
    }
    return rootView;
}

你可能感兴趣的:(Android fragment 缓存view)