我正在尝试在Android应用中实现导航标签.由于不推荐使用TabActivity和ActivityGroup,我想使用Fragments来实现它.
我知道如何为每个选项卡设置一个片段,然后在单击选项卡时切换片段.但是,如何为每个选项卡分别设置一个后备堆栈?
例如,片段A和B将位于选项卡1下,片段C和D位于选项卡2下.启动应用程序时,将显示片段A并选择选项卡1.然后片段A可能被片段B替换.当选择标签2时,应显示片段C. 如果选择了选项卡1,则应再次显示片段B. 此时应该可以使用后退按钮显示片段A.
此外,重要的是在旋转设备时保持每个标签的状态.
BR马丁
我有一个片段:
ProductsFragments extends Fragment
Run Code Online (Sandbox Code Playgroud)
和一个活动
AdminMenuActivity extends ActionBarActivity
Run Code Online (Sandbox Code Playgroud)
我想从AdminMenuActivity调用ProductsFragments.我使用了2个选项:
1)
FragmentManager fm = getSupportFragmentManager();
for(int i = 0; i < fm.getBackStackEntryCount(); ++i) {
fm.popBackStack();
}
FragmentTransaction tx = getSupportFragmentManager().beginTransaction();
tx.replace(R.id.frame_layout, android.support.v4.app.Fragment.instantiate(AdminMenuActivity.this, fragments[1]));
tx.commit();
Run Code Online (Sandbox Code Playgroud)
2)
Intent intent1 = new Intent(AdminMenuActivity.this, ProductsActivity.class);
startActivity(intent1);
Run Code Online (Sandbox Code Playgroud)
两者都失败了.我不想用FragmentActivity扩展ProductsFragments,因为它没有给我supportActionBar v7
那我怎么打电话Fragment?