我正在使用Navigation组件的BottomNavigationView
。当显示的Fragment不是根Fragment时,选项卡图标没有更新(选中)。
例如:
当我在Tab Home和Fragment A(它是根Fragment)之间切换,并在Tab Star和Fragment B(也是根Fragment)之间切换时,一切正常。但是,当我从Tab Home导航到另一个Fragment,如A2 Fragment,并在Tab Star上点击后再返回Tab Home时,BottomNavigationView
仍然选中 Tab Star 。
版本2.4.0-alpha05
时可以正常工作,但更新到2.5.0-alpha01
后出现此问题。
build.gradle(app)
implementation "androidx.navigation:navigation-fragment-ktx:2.5.0-alpha01"
implementation "androidx.navigation:navigation-ui-ktx:2.5.0-alpha01"
implementation "androidx.navigation:navigation-dynamic-features-fragment:2.5.0-alpha01"
build.gradle (根目录)
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.5.0-alpha01"
<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"
android:id="@+id/graph"
app:startDestination="@id/fragmentA">
<fragment
android:id="@+id/fragmentA"
android:name="ui.test.FragmentA"
tools:layout="@layout/fragment_test"
android:label="FragmentA" >
<action
android:id="@+id/action_fragmentA_to_fragmentA2"
app:destination="@id/fragmentA2" />
</fragment>
<fragment
android:id="@+id/fragmentA2"
android:name="ui.test.FragmentA2"
tools:layout="@layout/fragment_test"
android:label="FragmentA2" />
<fragment
android:id="@+id/fragmentB"
android:name="ui.test.FragmentB"
tools:layout="@layout/fragment_test"
android:label="FragmentB" />
</navigation>
菜单:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/fragmentA"
android:icon="@drawable/ic_home"
android:title="" />
<item
android:id="@+id/fragmentB"
android:icon="@drawable/ic_star"
android:title="" />
</menu>
我是不是做错了什么?还是这是个bug?
如何解决这个问题?