我在android studio自动生成的MainActivity.java文件中启动了新活动,该文件有Navigation抽屉。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container, false);
startActivity(new Intent(getActivity(), Dishes.class));
这是我的Dishes.java代码
public class Dishes extends FragmentActivity {
//private Context context;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//context = Dishes.this;
//fragment main s shown, but no original navigation drawer??
setContentView(R.layout.fragment_main);
new getData().execute("..");
}
ActivityMain.xml
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.app.MainActivity">
<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<fragment android:id="@+id/navigation_drawer"
android:layout_width="@dimen/navigation_drawer_width"
android:layout_height="match_parent"
android:layout_gravity="start"
android:name="com.app.NavigationDrawerFragment" />
</android.support.v4.widget.DrawerLayout>
问题是,在我开始新活动之后,新的布局被创建并显示(我假设),我无法访问旧的导航抽屉。如何解决?
答案 0 :(得分:0)
由于您的MainActivity已经有抽屉,所以
能够访问导航抽屉:
您需要扩展MainActivity(使用抽屉进行基本活动,所有类都将扩展)
在布局xml中,您可以制作一个具有抽屉和布局的父布局.Eg LinearLayout将根据您调用的活动的布局动态膨胀。
请参阅:
How to add Navigation Drawer to all the activities in the application?
Open Android Navigation Drawer from an activity class
Android Navigation Drawer (calling activities) with AbstractMainActivity
答案 1 :(得分:0)
请按照以下步骤操作:
这是我一起使用导航抽屉和碎片的方式。如果不清楚或者您需要一些与之相关的片段,请告诉我。