繁体   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