Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用java的Andriod导航组件2.1.0_Java_Android_Kotlin_Android Architecture Navigation - Fatal编程技术网

使用java的Andriod导航组件2.1.0

使用java的Andriod导航组件2.1.0,java,android,kotlin,android-architecture-navigation,Java,Android,Kotlin,Android Architecture Navigation,当我尝试在java上使用android导航组件时。它不能很好地与开箱即用的导航抽屉配合使用。除了从导航抽屉中导航到片段,我能够执行所有操作。 我正在做一个项目,我需要尽快摆脱困境,并希望用java来完成它,我在java方面更有经验。有人能破解这个吗 implementation 'androidx.navigation:navigation-fragment:2.1.0' implementation 'androidx.navigation:navigation-ui:2.1.0' 创建时的

当我尝试在java上使用android导航组件时。它不能很好地与开箱即用的导航抽屉配合使用。除了从导航抽屉中导航到片段,我能够执行所有操作。 我正在做一个项目,我需要尽快摆脱困境,并希望用java来完成它,我在java方面更有经验。有人能破解这个吗

implementation 'androidx.navigation:navigation-fragment:2.1.0'
implementation 'androidx.navigation:navigation-ui:2.1.0'
创建时的主要活动

rootLayout = findViewById(R.id.drawer_layout);

    drawerLayout = findViewById(R.id.drawer_layout);

    Toolbar toolbar = findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    NavHostFragment navHostFragment = (NavHostFragment)getSupportFragmentManager().findFragmentById(R.id.nav_host_fragment);
    navController = navHostFragment.getNavController();

    mAppBarConfiguration = new AppBarConfiguration.Builder(navController.getGraph())
            .setDrawerLayout(drawerLayout)
            .build();

    drawerLayout = findViewById(R.id.drawer_layout);

    //setup navigation
    NavigationView navigationView = findViewById(R.id.nav_view);
    NavigationUI.setupWithNavController(navigationView, navController);
    mAppBarConfiguration = new AppBarConfiguration.Builder(
            R.id.nav_home, R.id.nav_claims, R.id.nav_products,R.id.nav_deliveries, R.id.nav_quotes,
            R.id.nav_policies, R.id.nav_payment,R.id.nav_about,R.id.nav_contact)
            .setDrawerLayout(drawerLayout)
            .build();

    //setup action bar
    NavigationUI.setupActionBarWithNavController(this, navController, mAppBarConfiguration);

PS:mobile_navigation.xml和activity_main_drawer.xml上的id是相同的。因此没有问题。

发现了问题。这有点奇怪,但哦,好吧。。。您需要确保在活动的导航视图(例如活动主视图)之前包含应用程序工具栏主视图

<include
    layout="@layout/app_bar_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

<com.google.android.material.navigation.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    app:headerLayout="@layout/nav_header_main"
    app:menu="@menu/activity_main_drawer"
    android:background="@color/colorAccent"
    app:itemTextColor="@android:color/white"
    app:itemIconTint="@android:color/white"
    android:fitsSystemWindows="false"
    android:isScrollContainer="true"
    android:saveEnabled="true"/>