使用上下文类扩展布局

时间:2017-10-03 13:10:11

标签: android xml android-layout android-activity layout-inflater

我有两个活动,有两个相应的布局:

MainActivity.java - > content_main.xml

SecondActivity.java - > content_secondclass.xml

我的MainActivity毫无问题地使content_secondclass.xml膨胀:

RelativeLayout mainLayout = (RelativeLayout) findViewById(R.id.content_main);
LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.content_secondclass, null);
mainLayout.removeAllViews();
mainLayout.addView(layout);

虽然如何将此通货膨胀视为SecondActivity.java的背景?我不想启动另一个Intent,因为它会在新窗口中打开,而我正在使用Navigation Drawer样式的应用程序。我希望在扩展content_secondclass.xml时调用SecondActivity,但是现在它只是在不调用SecondActivity.java的情况下使content_secondclass膨胀。

我的content_secondclass.xml已经有tools:context标记" .SecondActivity"

希望我明白我的观点。非常感谢您在这件事上的时间和帮助。

2 个答案:

答案 0 :(得分:1)

我理解你的问题了。正如我猜你想在你的第一个(主)布局中的第二个布局(视图)中有一些java工作而不打开另一个活动。

使用片段执行此操作的最佳方式。使用片段,您将拥有灵活的UI,每个片段在一个活动中具有相应的Java控制器。如果你是android的新手,请通过片段教程。关于片段click here

的一些基础知识

最好的问候

答案 1 :(得分:0)

保存导航抽屉的主要布局应该是框架布局并创建框架布局的对象和

  FragmentTransaction transaction = getSupportFragmentManager()
                .beginTransaction();
        transaction.replace(R.id.frame_container, fragment);
        transaction.addToBackStack(tag);
        transaction.commit();

此处片段是您创建的片段的对象