簡體   English   中英

如何使用導航組件導航回上一個片段

[英]How to navigate back to previous fragment using Navigation component

我在我的應用程序中使用導航組件。我的應用程序HomeCartCake中有三個片段。 我想在操作欄中按后退箭頭導航到所需的片段。 當我單擊后退箭頭時,它不會切換到所需的片段而不是返回Home片段。

下面是我的代碼:

購物車Fragment.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);

要攔截后退按鈕單擊,您需要覆蓋onOptionsItemSelected

override fun onOptionsItemSelected(item: MenuItem): Boolean {
    when (item.itemId) {
        android.R.id.home -> {
            handleBackPress()
            return true
        }
    }
    return super.onOptionsItemSelected(item)
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM