从新片段返回viewpager状态

时间:2015-07-28 08:30:35

标签: android android-viewpager fragmentmanager

我有一个有viewpager的布局。 viewpager里面有2个片段。当我点击第二页时,我想要一个新的片段弹出并填满整个屏幕。到目前为止,我在片段B中使用了以下内容:

FragmentTransaction fragmentTransaction = getActivity().getSupportFragmentManager().beginTransaction();
fragmentTransaction.add(R.id.container, new FragmentA(),"current"); 
fragmentTransaction.commit();

现在,当我按下后退按钮时,我无法进入上一个viewpager页面,无法保留其先前的状态。我在背压时被抛弃了。 这是我在主要活动中对OnBackPress的实现:

Fragment fragment = getSupportFragmentManager().findFragmentByTag("current");
    if(fragment != null)
        getSupportFragmentManager().beginTransaction().remove(fragment).commit();

    if(vp.getCurrentItem() == 0)
    {
        super.onBackPressed();
    }
    else
    vp.setCurrentItem(0);

1 个答案:

答案 0 :(得分:0)

必须尝试这个,

toolbar.setNavigationOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            getActivity().onBackPressed();
        }
    });