2014-02-25 41 views
0

我在我的应用程序中有一个查看传呼机和2个滚动页面。起初我用两个碎片填充它。Viewpager更新和backstack

在第一片段我有一个按钮。点击按钮,新的适配器被创建并且查看寻呼机被填充两个不同的片段。在我按下后退出应用程序的时候,我想恢复视图呼叫器的以前状态。请帮助

第一次:

ViewPagerAdapter pagerAdapter = new ViewPagerAdapter(getSupportFragmentManager(),nBank); 
        mViewpager.invalidate(); 
        mViewpager.setAdapter(pagerAdapter); 

二时间:

public void onListItemPressed(Currency objectCurrency) { 
     // TODO Auto-generated method stub 

     DetailPagerAdapter detaluriadapteri = new DetailPagerAdapter(getSupportFragmentManager()); 
     mViewpager.setAdapter(detaluriadapteri); 

    } 

回答

0

一种解决方案可以实现onBackPressed:

@Override public void onBackPressed() { 
    if (mViewpager != null && mViewpager.getAdapter() instanceof DetailPagerAdapter) { 
     ViewPagerAdapter pagerAdapter = new ViewPagerAdapter(getSupportFragmentManager(),nBank); 
     mViewpager.invalidate(); 
     mViewpager.setAdapter(pagerAdapter); 
    } else { 
     super.onBackPressed(); 
    } 
} 

虽然,我想我在调用onListItemPressed时,最好使用DetailPagerAdapter开始一个新的活动。这样,android的默认行为就是在后台导航回到主要活动,目前您的主要活动可能会承担过多的责任。因此,处理细节部分的自包含活动也可能更容易维护,因为它可能需要不同的选项卡,操作栏菜单项等等。

也可能是包含详细信息viewpager的片段,但我遇到了麻烦自己实施这个。应该是可能的,但我的麻烦可能是由我使用的一些库引起的。

+0

感谢它真的帮助:) – user3314123

+0

没有问题:)快乐编码 – cYrixmorten

+0

我想到了新的活动,但问题是有点复杂。我使用操作栏导航抽屉并在我的单个活动中查看寻呼机,因此使用第二个活动会导致一些问题,我猜。 – user3314123