相关疑难解决方法(0)

Fragment PopBackStack

我遇到一个奇怪的问题,同时使用Fragments并弹出它们.

我有一个片段活动:

Step1:我在起始命名片段A中的那个Activity的onCreate中附加了一个片段:

这是片段活动的onCreate

@Override
    protected void onCreate(Bundle savedBundleState) {
        super.onCreate(savedBundleState);
        setContentView(R.layout.activity_base_new);

        Fragement_Home home = new Fragement_Home();
        FragmentManager manager = getSupportFragmentManager();
        manager.beginTransaction().add(R.id.frameContent, home).addToBackStack("home").commit();
    }
Run Code Online (Sandbox Code Playgroud)

步骤:2之后,我附上了以下代码替换了Fragment:

Fragment_More moreFragment = new Fragment_More();
            FragmentManager manager = getSupportFragmentManager();
            manager.beginTransaction().replace(R.id.frameContent, moreFragment).addToBackStack("more").commit();
Run Code Online (Sandbox Code Playgroud)

第3步:在那之后我再次以相同的方式在Fragment_More上添加了一个片段:

Fragment_AboutRockstand termsConditions = new Fragment_AboutRockstand();
            getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.frameContent, termsConditions).addToBackStack("about_rockstand").commit();
Run Code Online (Sandbox Code Playgroud)

这是我的片段活动onBackPressedButton Lisetener:

@Override
public void onBackPressed() {
    FragmentManager fm = getSupportFragmentManager();
    Fragment f = fm.findFragmentById(R.id.frameContent);

 if(fm.getBackStackEntryCount() > 1){
         fm.popBackStack();
    } else{
        finish();
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我得到的问题:

当我从第3步按回来时,它按照onBackPressed的描述成功地给了我之前的片段,它会回弹并将我带到前面的片段.但是从Fragment_More开始,当我再次按下时,它会显示空白的FRAGMENT内容.它从未显示我在活动的OnCreate中的第1步中添加的First Fragment.

请评论.我做错了什么?

谢谢

android android-fragments back-stack onbackpressed

20
推荐指数
1
解决办法
4万
查看次数