FragmentTabHost嵌套ViewPager,Fragment第二次点击不显示的问题

来源:互联网 发布:全身美白 知乎 编辑:程序博客网 时间:2024/05/22 05:32

FragmentTabHost嵌套ViewPager,Fragment第二次点击不显示的主要原因是第二次加载的时候重复调用了onCreateView()这个方法,问题的解决方法就是在onCreateView()方法里面加入以下代码

if (view != null) {              ViewGroup parent = (ViewGroup) view.getParent();              if (parent != null) {                  parent.removeView(view);              }              return view;          }  
 @Override      public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {          if (view != null) {              ViewGroup parent = (ViewGroup) view.getParent();              if (parent != null) {                  parent.removeView(view);              }              return view;          }          view = inflater.inflate(R.layout.confirmed_view, container, false);  return view;  }  

FragmentTabHost实现TAb页面防止某个fragment重复加载的问题,也是在onCreateView()方法里面重写以下代码:

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {        if(mView == null){            mView = inflater.inflate(R.layout.fragment_news, null);            initLoadingFragment();            updataVersion();            ininView();            requestData();        }        /**         *  缓存的rootView需要判断是否已经被加过parent,          *  如果有parent需要从parent删除,         *  要不然会发生这个rootview已经有parent的错误。         */        ViewGroup parent = (ViewGroup) mView.getParent();        if (parent != null) {            parent.removeView(mView);        }        return mView;    }
1 0
原创粉丝点击