我有一个带有 3 个不同 Fragment 的 main_activity 和一个SlideActivity. 我可以在我的MainActivity.
现在我在 中添加 1 个按钮,MainActivity它将打开SlideActivity. 在SlideActivity导航栏中,有 3 个按钮可以切换到我已经创建的每个不同的片段。
问题是当我单击导航中的列表按钮时,出现错误表明
未找到片段 fragment_main{e1acaf7 #0 id=0x7f080052} 的 id 0x7f080052 (com.example.learnfragment:id/fragment_container) 的视图
似乎它无法找到FrameLayoutIDR.id.并且我相信因为导航按钮在 中SlideActivity并且它找不到在MainActivity.
但是我应该怎么做才能切换回MainActivity以及更改不同的片段?
这是navigation_slide_activity.xml
<include
layout="@layout/app_bar_slide"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_slide"
app:menu="@menu/activity_slide_drawer" />
Navigation_Slide_Activity.java:_
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
if (id == R.id.nav_home) {
// Navigate back to the Main Fragment
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.fragment_container, new fragment_main());
ft.commit();
}
}
和main_activity.xml:
<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="392dp"
android:layout_height="496dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp" />
最后,MainActivity.java
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Create Fragment
if(savedInstanceState == null){
getSupportFragmentManager().beginTransaction().add(
R.id.fragment_container,
new fragment_main()).commit();
}
}
慕森王
相关分类