为了账号安全,请及时绑定邮箱和手机立即绑定

使用选项卡和片段处理导航项

使用选项卡和片段处理导航项

牛魔王的故事 2021-05-10 15:26:38
我创建了一个导航抽屉并添加了这样的布局activity_main <?xml version="1.0" encoding="utf-8"?><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_layout"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:fitsSystemWindows="true"    tools:openDrawer="start">    <include        layout="@layout/app_bar_main"        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_main"        app:menu="@menu/activity_main_drawer" /></android.support.v4.widget.DrawerLayout>我得到如下所示的结果: 上面的代码将FirstSemester()和SecondSemester()片段绑定到所有导航项。这可能不是正确的解决方法,因此,我需要建议和帮助,谢谢。
查看完整描述

3 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

其次,如何将AppBar标题更改为选定的Navigation项目的标题?


在MainActivity类的onNavigationItemSelected()方法中,您可以执行以下操作:


@SuppressWarnings("StatementWithEmptyBody")

@Override

public boolean onNavigationItemSelected(MenuItem item) {

    // Handle navigation view item clicks here.

    int id = item.getItemId();


    if (id == R.id.year1) {

        getSupportActionBar().setTitle("Year 1");

        setupViewPager(viewPager);

    } else if (id == R.id.year2) {

        getSupportActionBar().setTitle("Year 2");

        setupViewPager2(viewPager);

    } else if (id == R.id.year3) {

        getSupportActionBar().setTitle("Year 3");

        setupViewPager3(viewPager);

    } else if (id == R.id.year4) {

        getSupportActionBar().setTitle("Year 4");

        setupViewPager4(viewPager);

    } else if (id == R.id.year5) {

        getSupportActionBar().setTitle("Year 5");

        setupViewPager5(viewPager);

    } else if (id == R.id.nav_share) {


    } else if (id == R.id.nav_send) {


    }


    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);

    drawer.closeDrawer(GravityCompat.START);

    return true;

}

关于第一个问题,您正在为导航抽屉中单击的任何项目显示一个viewpager(第一和第二个学期),因此您不应期望外观正常。粗略的方法,但是效率不是太差。


查看完整回答
反对 回复 2021-05-26
  • 3 回答
  • 0 关注
  • 124 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信