2 回答
TA贡献1864条经验 获得超2个赞
你activity_student_home不包括你的 DrawerLayout
这个不见了
<include
layout="@layout/app_bar_student_home"
android:layout_width="match_parent"
android:layout_height="match_parent" />
TA贡献1776条经验 获得超12个赞
做你想做的事情的正确方法是(如果我理解你的要求正确的话)使用片段
在你的 app_bar_student_home.xml 里面替换
<include layout="@layout/content_student_home" />
像这样的东西
<FrameLayout
android:id="@+id/content"
android:layout_width="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:layout_height="match_parent"/>
然后创建您希望显示其内容的片段(例如 FragmentA、FragmentB)并将它们的 contentview 设置为您希望显示的不同布局
当您希望更改活动的内容时,您可以执行以下操作
getSupportFragmentManager().beginTransaction().replace(R.id.content, new FragmentA()).commit();
远不止这些,
例如,当您希望将片段中的点击事件发送到您的活动时,您必须使用 getActivity() 并将其转换为 MainActivity 的类或使用接口(首选)
您可以查看本教程,该教程应该对您有所帮助
http://www.androiddocs.com/training/basics/fragments/index.html
添加回答
举报