使用导航组件时无法转到特定片段

时间:2019-10-03 12:31:25

标签: android navigation-drawer android-architecture-components android-architecture-navigation

我已经在活动中设置了导航抽屉以及工具栏。此活动使用自定义工具栏保存RestaurantFragment,其中有一个按钮可以帮助我转到MapFragment,而后退按钮则希望执行相同的操作。我使用map_button可以做到这一点,并且效果很好:

toolbar.setOnMenuItemClickListener(item -> {
    if (item.getItemId() == R.id.map_button) {
        goToMapFragment();
        return true;
    }
    return false;
});

但是,如果使用此代码:

toolbar.setNavigationOnClickListener(v -> {
    goToMapFragment();
});

该方法被调用,但是什么也没有发生。这是我的goToMapFragment();方法:

private void goToMapFragment() {
    ActionRestarantFragmentToMapFragment action = actionRestarantFragmentToMapFragment();
    action.setRestaurant(restaurant);
    Navigation.findNavController(rootView).navigate(action);
}

如果我用goToMapFragment();代替对getActivity().onBackPressed();的调用,我将到达上次访问的片段,但这不是我想要的。在第二种情况下,如何使goToMapFragment()也起作用?谢谢!

0 个答案:

没有答案
相关问题