Android 导航抽屉单击打开另一个片段以替换TabLayout&;寻呼机
我有一个项目,有一个导航抽屉,它包括两个项目“家”和“消息”。“消息”页面是一个单独的片段,“主页”页面是一个包含3个不同片段的tabLayout combine viewPager。我想要的是“消息”片段来取代Home的tabLayout和viewPager。现在我的问题是,当我尝试替换为“Message”片段时,片段本身没有显示任何内容,只是考虑到“Message”片段中有一个大的TextView MainActivity的导航单击代码 家庭布置图的图像 消息片段的图像,假设该片段中间有一个textView 我尝试使用Android 导航抽屉单击打开另一个片段以替换TabLayout&;寻呼机,android,android-fragments,android-viewpager,android-tablayout,Android,Android Fragments,Android Viewpager,Android Tablayout,我有一个项目,有一个导航抽屉,它包括两个项目“家”和“消息”。“消息”页面是一个单独的片段,“主页”页面是一个包含3个不同片段的tabLayout combine viewPager。我想要的是“消息”片段来取代Home的tabLayout和viewPager。现在我的问题是,当我尝试替换为“Message”片段时,片段本身没有显示任何内容,只是考虑到“Message”片段中有一个大的TextView MainActivity的导航单击代码 家庭布置图的图像 消息片段的图像,假设该片段中间有一
getSupportFragmentManager()
替换我的表格布局,但它似乎根本不起作用。
有没有人知道我做错了什么,或者我在这段代码中缺少了什么,我这些天一直在努力解决这个问题
更新MainActivity XML代码
当只有两个项时,可以使用
视图翻转器,它允许两个子节点
或者使用FrameLayout
作为容器并相应地膨胀片段,而不是预先存在的XML
实际上,它会使第二个碎片膨胀,没有机会返回到第一个碎片。那么mTabLayout.setVisibility(View.GONE)
@AyushKhare-Khare我已经试过了,但没有显示任何内容,还有其他想法吗?请添加您的活动xmlalso@AyushKhare我已经更新了我的XML代码,你能告诉我如何使用框架布局来解决这个问题吗?你可以找到关于它的教程…试试这个教程。。
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case 0:
drawerLayout.openDrawer(GravityCompat.START);
break;
case R.id.Home:
getSupportActionBar().setTitle("Home");
viewPager.setAdapter(mSectionPageAdapter);
viewPager.setCurrentItem(1);
mTabLayout.setupWithViewPager(viewPager);
break;
case R.id.Message:
mTabLayout.removeAllTabs();
getSupportActionBar().setTitle("Message");
getSupportFragmentManager().beginTransaction().replace(R.id.viewPager_mainActivity, friendMessageFragment).commit();
break;
}
drawerLayout.closeDrawer(GravityCompat.START);
return true;
}
});
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context=".MainActivityUsed.MainActivity">
<android.support.design.widget.CoordinatorLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.FloatingActionButton
android:id="@+id/floatingActionButton"
android:layout_width="56dp"
android:layout_height="56dp"
android:layout_gravity="bottom|end"
android:layout_marginBottom="16dp"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
android:src="@drawable/add"
app:backgroundTint="@color/backgroundOrange" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar_main_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:showDividers="beginning"
android:theme="@style/Base.ThemeOverlay.AppCompat.Dark.ActionBar">
<include
android:id="@+id/app_bar_info_regis_main_activity"
layout="@layout/app_bar_info_regis" />
<include android:id="@+id/app_bar_search_view"
layout="@layout/search_view"/>
<android.support.design.widget.TabLayout
android:id="@+id/main_tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</android.support.design.widget.TabLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:id="@+id/viewPager_mainActivity"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@id/appbar_main_layout">
</android.support.v4.view.ViewPager>
</RelativeLayout>
</android.support.design.widget.CoordinatorLayout>
<android.support.design.widget.NavigationView
android:id="@+id/nav_view_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="start"
android:layout_marginEnd="-65dp"
android:layout_marginRight="-65dp"
android:fitsSystemWindows="false"
app:headerLayout="@layout/nav_header"
app:itemIconTint="@color/colorAccent"
app:menu="@menu/main_activity_menu" />