Java 创建并显示“启动新活动”空白布局
我在android studio自动生成的MainActivity.java文件中启动新活动,该文件具有导航抽屉Java 创建并显示“启动新活动”空白布局,java,android,android-layout,Java,Android,Android Layout,我在android studio自动生成的MainActivity.java文件中启动新活动,该文件具有导航抽屉 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.infla
@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));
这是我的diseass.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>
问题是,在我开始新的活动之后,新的布局被创建并显示(我假设),我无法访问旧的导航抽屉。如何修复它?因为您的主要活动已经有了抽屉,
为了能够访问导航抽屉:
您需要扩展MainActivity(使用抽屉创建一个基本活动,所有类都将扩展它)
在布局xml中,您可以创建一个包含抽屉和布局的父布局。例如,LinearLayout,它将根据您调用的活动的布局动态膨胀。
参考:
按照以下步骤操作:
这是我使用导航抽屉和片段的方式。如果不清楚,请告诉我,或者您需要一些与之相关的片段 即使使用back按钮也不行?back按钮在onCreate()中工作(返回到第一个屏幕),您不调用setContentView(MyLayouFile);如果I
setContentView(R.layout.fragment_main),则不会发生任何更改代码>。如果IsetContentView(R.layout.activity\u main)代码>,应用程序中断您必须具有活动的布局。或者它将显示为空白。我认为您不能重用调用活动中的布局。您似乎试图为被调用的活动提供片段的布局(?),然后是其容器的布局(?)。这显然是错误的。@Rokas请检查我编辑的答案中的链接,您的要求是否不同(?)它看起来很容易实现,但看起来也很脏。也许我可以使用FragmentActivity
而不是Activity
实现同样的效果?是的,它将是FragmentActivity,而您将创建片段,但是我不认为这个概念的其余部分会有太大的改变:)或者..这些可能会对你有所帮助:记住,你将要使用的所有屏幕,包括选项卡式屏幕,都应该是片段好的,我用FragmentActivity代替activity,添加了setContentView
,现在它显示了我想要的片段,但仍然没有导航抽屉。我已经更新了我的问题。你能添加代码片段吗?太好了。我有代码,但想让你先试试。:)请查看这篇简单而精彩的教程。最重要的是工作。我相信你会理解它的工作原理。如果你有什么困难,请告诉我。完成后,我将帮助您在主页上获得选项卡式屏幕。Happ编码:)这是我的荣幸希望你也能理解FragmentActivity,我强调FragmentActivity的唯一原因是为了确保你的应用程序也能向后兼容。玩得开心。:)