gpt4 book ai didi

architecture - 带启动画面的BottomNavigationView(架构导航组件)

转载 作者:行者123 更新时间:2023-12-02 11:21:15 24 4
gpt4 key购买 nike

我已经使用 bottomNavigationView 实现了导航,如图
graph .如果 main_graph 被选为“开始目的地”,导航工作正常。但是,如果我选择 fragment_splash 为“开始目的地”,我使用 popUpToInclusive 从中导航到 main_graph,BottomNavigation 无法按预期工作。 (它完全搞砸了,在底部图标之间导航时片段不会被破坏等)

我嵌套的 main_graph 有自己的“开始目的地”,它应该是 BottomNavigationView 的开始目的地。

我遵循单一事件方法。

如何解决这个问题呢?谢谢你。

最佳答案

只需执行 onNavigationItemSelected对于像这样的 BottomNavigationView

@Override
public boolean onNavigationItemSelected(MenuItem item) {
int id = item.getItemId();
NavOptions navOptions = new NavOptions.Builder()
.setPopUpTo(R.id.nav_home, false)
.build();

navController.navigate(id,null, navOptions);

}

就我而言,我已将目标名称定义为与 BottomNavigation 中的菜单项 ID 相同

这是我的图表 xml
<?xml version="1.0" encoding="utf-8"?>
<navigation
android:id="@+id/main_navigation"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
app:startDestination="@id/splashFragment">
<fragment
android:id="@+id/splashFragment"
android:name="com.businesslinktrading.makanilebanon.SplashFragment"
android:label="fragment_splash"
tools:layout="@layout/fragment_splash">
<action
android:id="@+id/action_splashFragment_to_nav_home"
app:destination="@id/navigation4"
app:launchSingleTop="true"
app:popUpTo="@+id/main_navigation"
app:popUpToInclusive="true"/>
</fragment>
<navigation android:id="@+id/navigation4"
app:startDestination="@id/nav_home">
<fragment
android:id="@+id/nav_emergancy_phones"
android:name="com.businesslinktrading.makanilebanon.EmergenciesFragment"
android:label="fragment_emergencies"
tools:layout="@layout/fragment_emergencies"/>
<fragment
android:id="@+id/nav_moods"
android:name="com.businesslinktrading.makanilebanon.MoodsFragment"
android:label="fragment_moods"
tools:layout="@layout/fragment_moods"/>
<fragment
android:id="@+id/nav_home"
android:name="com.businesslinktrading.makanilebanon.ForYouFragment"
android:label="fragment_for_you"
tools:layout="@layout/fragment_for_you"/>
<fragment
android:id="@+id/nav_groups"
android:name="com.businesslinktrading.makanilebanon.GroupsFragment"
android:label="fragment_groups"
tools:layout="@layout/fragment_groups"/>
<fragment
android:id="@+id/nav_parking"
android:name="com.businesslinktrading.makanilebanon.ParkingFragment"
android:label="fragment_parking"
tools:layout="@layout/fragment_parking"/>
</navigation>

</navigation>

关于architecture - 带启动画面的BottomNavigationView(架构导航组件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53473599/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com