android fragment重叠问题-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

android fragment重叠问题

我的导入的是

import android.app.FragmentManager;
 import android.app.FragmentTransaction;
这俩个包,因为我导入v4包getSupportFragmentManager出不来,所以我用的是app包,
FragmentManager fm=getFragmentManager();
 FragmentTransaction ft=fm.beginTransaction();
 PersonageCentreHomeFragment home = new PersonageCentreHomeFragment();
 ft.add(R.id.personage_my, home);
 ft.commit();

这里是下面的代码,我这样写之后,fragment会重现透明背景,重叠现象,之前做还好好的,不知道这次是怎么了xml布局文件我是用fragmentLayout来做的

展开
收起
爵霸 2016-06-12 11:15:46 2126 0
1 条回答
写回答
取消 提交回答
  • 解决方法如下,在进入onCreate函数时,先去判断savedInstanceState是否为null,如果不为null,则表示里面有保存这四个fragment。则不再重新去add这四个fragment,而是通过Tag从前保存的数据中直接去读取。相关代码如下:\

             FragmentManager fManager;
        @Override
        public void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            fManager = getFragmentManager();
            if (savedInstanceState != null) {
                allFrg = (AllOfficialAccountFragment) fManager.findFragmentByTag("allFrg");
                movieFrg = (MovieOfficialAccountFragment) fManager.findFragmentByTag("movieFrg");
                newsFrg = (NewsOfficialAccountFragment) fManager.findFragmentByTag("newsFrg");
                otherFrg = (OtherOfficialAccountFragment) fManager.findFragmentByTag("otherFrg");           
            }
            super.onCreate(savedInstanceState);     
        }
    

    这样子仍是对之前保存的fragment操作,成功解决了重叠的问题。

    2019-07-17 19:33:32
    赞同 展开评论 打赏
问答排行榜
最热
最新
相关电子书
更多
蚂蚁聚宝Android秒级编译——Freeline
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关镜像