我在我的应用程序中使用导航组件。我的应用程序中有三个片段 Home
、Cart
和 Cake
。我想在操作栏中按后退箭头导航到所需的片段。当我点击后退箭头时,它不会切换到所需的片段,而不是返回到 Home
片段。
下面是我的代码:
CartFragment.java
OnBackPressedCallback back = new OnBackPressedCallback(true) {
@Override
public void handleOnBackPressed() {
NavController navController = Navigation.findNavController(getActivity(),R.id.fragment);
navController.navigate(R.id.cakeFragment);
}
};
requireActivity().getOnBackPressedDispatcher().addCallback(getActivity(),back);
答案 0 :(得分:-1)
要拦截后退按钮点击,您需要覆盖 onOptionsItemSelected
:
override fun onOptionsItemSelected(item: MenuItem): Boolean {
when (item.itemId) {
android.R.id.home -> {
handleBackPress()
return true
}
}
return super.onOptionsItemSelected(item)
}