簡體   English   中英

無法使用導航組件導航到所需的片段

[英]Unable to navigate to desired fragment using navigation component

我在我的應用程序中使用導航組件。 我試圖通過單擊操作欄圖標導航到片段,但它不起作用。 下面是我的代碼:

action_menu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">

<item
    android:title=""
    android:id="@+id/cart_notif"
    android:icon="@drawable/ic_order"
    app:showAsAction="always"
    android:actionLayout="@layout/notification_badge"/>

</menu> 

nav_host.xml

 <fragment
    android:id="@+id/cartFragment"
    android:name="BottomFragments.CartFragment"
    android:label="Cart"
    tools:layout="@layout/fragment_cart">

    <action
        android:id="@+id/action_cartFragment_to_cakeFragment"
        app:destination="@id/cakeFragment"
        app:enterAnim="@anim/nav_default_enter_anim"
        app:popUpTo="@id/cakeFragment"
        app:popUpToInclusive="true" />
</fragment>

MainActivity.java

@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {

   if(item.getItemId() == R.id.cart_notif){
       NavController navController = Navigation.findNavController(MainActivity.this,R.id.fragment);
       navController.navigate(R.id.cartFragment);
     }

    return super.onOptionsItemSelected(item);
}

@Override
public boolean onSupportNavigateUp() {
     navController.navigateUp();
    return super.onSupportNavigateUp();
}

這種方法不起作用 - 我該如何導航?

在這里,我可以看到您正在使用onOptionsItemSelected從一個屏幕導航到另一個屏幕。 相反,您應該使用onNavigationItemSelected方法。

有關更多詳細信息,請參閱答案。

暫無
暫無

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

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