如何在启动时选择BottomNavigation上的其他项目

How do you get a different item on BottomNavigation to be selected at the startup

提问人:terdev 提问时间:9/9/2020 更新时间:9/9/2020 访问量:48

问:

我对 AS 比较陌生。我使用带有多个项目的 BottomNavigationView。基本上,我希望在打开应用程序时选择不同的项目,因为左侧项目(XML 文件中的第一个)是默认选择的项目。

我将以下代码片段放在 Fragment 的 onCreateView 方法中:

bottomNavigationView = view.findViewById(R.id.nav_bar)
bottomNavigationView.menu.getItem(0).setChecked(true)

NavigationBar 的 XML:

<com.google.android.material.bottomnavigation.BottomNavigationView
    android:id="@+id/nav_bar"
    android:layout_width="409dp"
    android:layout_height="60dp"
    android:layout_marginBottom="30dp"
    android:background="#FFFFFF"
    app:itemIconSize="35dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.5"
    app:layout_constraintStart_toStartOf="parent"
    app:menu="@menu/bottom_navigation"
    tools:visibility="visible" />

我不知何故不断收到此错误:

java.lang.IllegalStateException:view.findViewById(R.id.nav_bar) 不得为空

有人知道这个问题的答案吗? 非常感谢您抽出时间接受采访!

Android-Studio Kotlin 导航抽屉

评论


答:

0赞 K P 9/9/2020 #1

最简单的解决方案是通过更换两条线来做到这一点。这是基于 Kotlin 的:

        bottomNavigationView.selectedItemId = R.id. nav_bar