美文网首页
Fragment重叠

Fragment重叠

作者: 灰色轨迹_e2d8 | 来源:发表于2019-05-06 13:37 被阅读0次

    主界面Activity中多个Fragment使用show hide的方式切换。、
    当手机内存不足、屏幕旋时Activity被回收、重建。fragment也会被系统保存和恢复。但是我们在Activity中保存的fragment的引用已经变为null,若此时创建新的Fragment则会出现重叠的问题。
    解决办法:
    创建Fragment的的时候带上一个tag
    Activity onCreate的时候先使用findViewByTag检查是否已存在想要的Fragment,如果没有再创建。

        protected void onCreate(Bundle savedInstanceState) {
            //解决fragment重叠
            FragmentTransaction transaction = getFragmentManager().beginTransaction();
            mainFragment = (MainFragment)getFragmentManager().findFragmentByTag(FRAGMENT_TAG+0);
            messageRecordFragment = (MessageRecordFragment)getFragmentManager().findFragmentByTag(FRAGMENT_TAG+1);
            contactFragment = (ContactFragment)getFragmentManager().findFragmentByTag(FRAGMENT_TAG+2);
            mySpaceFragment = (MySpaceFragment)getFragmentManager().findFragmentByTag(FRAGMENT_TAG+3);
            transaction.commitAllowingStateLoss();
        }
    

    相关文章

      网友评论

          本文标题:Fragment重叠

          本文链接:https://www.haomeiwen.com/subject/gnuroqtx.html