代码改变世界

多个fragment跳转被销毁,使其不销毁的办法

2016-01-31 19:29  百度乜搜不到  阅读(755)  评论(0编辑  收藏  举报

将试图存入WeakReference中,当第二次运行这个fragment时判断是否存在,如果不存在,那么久新建一个.如果存在就取出视图,然后返回一个视图.

protected WeakReference<View> mRootView;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mlayoutInflater = inflater;
if (mRootView == null || mRootView.get() == null) {
v = inflater.inflate(R.layout.activity_personal_center, container,
false);
// view1 = new PersonalFragment();
// view2 = new SystemSettingFragment();
// 加载视图
iniview();
// 添加单击事件
onClickShow(); 
            mRootView = new WeakReference<View>(v);
        } else {
            ViewGroup parent = (ViewGroup) mRootView.get().getParent();
            if (parent != null) {
                parent.removeView(mRootView.get());
            }
        }

return mRootView.get();
}