如何使用抽屉和导航元素创建带有动作的正确导航?

时间:2019-04-10 03:54:42

标签: android android-fragments navigation-drawer

我有一个大约有10个片段的Single Activity应用程序。屏幕上只能同时显示一个片段。活动包含DrawerLayoutNavigationView

好吧,所以我想创建一个东西,当任何片段都可以使用自己的动作导航到一个抛出NavigationView时。我将此片段称为Main。所以我想使用action1从Fragment1导航到Main,使用action2从Fragment2导航到Main,等等。

据我了解,我有两种方法:

Hardcore,setNavigationItemSelectedListener在“活动”中:

navigationView.setNavigationItemSelectedListener(item -> {
    switch (item.getItemId()) {
    ....
        case R.id.mainFragment:
            // a lot of code: define active fragment and using switch 
            // to making navigation with correct action
            break;

NavigationUI.setupActionBarWithNavController(this, controller, drawerLayout);
NavigationUI.setupWithNavController(navigationView, controller);

我认为第二种方法是唯一正确的方法,但随后我的行为就输了,看来我只是在写:

case R.id.mainFragment:
    controller.navigate(R.id.mainFragmentName);
    break;

我使用动作为片段过渡添加动画,但我不想丢失它。如何使我的导航正确?

1 个答案:

答案 0 :(得分:0)

我通过全局操作来完成它,非常适合此任务。