我正在尝试将Google's sample app code for a Navigation Drawer activity改编为我自己的应用,但我想要替换片段部分的活动是ActionBarActivity
。我需要能够在每个(片段)中使用唯一的操作栏,并使用抽屉整体导航。我研究过并发现虽然ActionBarActivity
扩展了FragmentActivity
,但尝试编码Fragment fragment = new PlanetFragment();
是一个很大的禁忌。如果那段代码看起来很荒谬,请原谅我的天真,我知道这可能。
编辑:我现在意识到片段活动不是我想要的,而是片段。
基本上我不明白如何适应:
Fragment fragment = new PlanetFragment();
Bundle args = new Bundle();
args.putInt(PlanetFragment.ARG_PLANET_NUMBER, position);
fragment.setArguments(args);
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).commit();
允许我使用预先编码的ActionBarActivity
作为片段。谢谢!
编辑:我开始看到NavigatorActivity
本身扩展ActionBarActivity
,并且可能会根据显示的任何片段更改操作栏。然而,我仍然不太明白动作栏如何具有相同/不同的按钮并且对每个相应的片段具有不同的功能。
答案 0 :(得分:0)
正常设置导航抽屉。如果你想在每个片段中都有一个新的动作栏,只需要调用
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
menu.clear();
inflater.inflate(R.menu.menu_fragmentTwo, menu);
}
在每个片段中进行此操作将为您提供新的可能性。如果你想要进行persolize,那就去onCreate();
Ps:我看到你有点混淆NavigationDrawer的工作方式。只需创建一个ActionBarActivity来扩展NavigationDrawer,并在每次点击NavigationDrawer时检索一个片段。使用起来非常简单。
如果使用Android Studio,请转到文件/导入示例并选择NavigationDrawer示例,它将帮助您理解它。