我已经在活动中设置了导航抽屉以及工具栏。此活动使用自定义工具栏保存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()
也起作用?谢谢!