我的导入的是
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来做的
解决方法如下,在进入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操作,成功解决了重叠的问题。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。