提问人:terdev 提问时间:9/9/2020 更新时间:9/9/2020 访问量:48
如何在启动时选择BottomNavigation上的其他项目
How do you get a different item on BottomNavigation to be selected at the startup
问:
我对 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) 不得为空
有人知道这个问题的答案吗? 非常感谢您抽出时间接受采访!
答:
0赞
K P
9/9/2020
#1
最简单的解决方案是通过更换两条线来做到这一点。这是基于 Kotlin 的:
bottomNavigationView.selectedItemId = R.id. nav_bar
评论