android - 底部导航视图 Null
问题描述
我正在尝试BottomNavigationView
按照这种简单的方法将徽章设置为 a 。
但是,当我初始化 BottomNavigationView 时,我得到:
java.lang.IllegalStateException: view.findViewById(R.id.bottom_navigation_view) must not be null
我正在从片段初始化 BottomNativigationView。我猜这是问题所在,但我无法找出解决方案。
private lateinit var bottomNavigation: BottomNavigationView
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
val view = inflater.inflate(R.layout.fragment_home, container, false)
bottomNavigation = view.findViewById(R.id.bottom_navigation_view)
}
这是为片段设置导航的 Activity 的 BottomNavigationView xml。
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottom_navigation_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorWhite"
app:itemIconTint="@color/navigation_tint"
app:itemTextColor="@color/navigation_tint"
app:labelVisibilityMode="labeled"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:menu="@menu/bottom_navigation" />
感觉就像我错过了一些简单的东西,但我不知道是什么。谢谢!
解决方案
您可以通过转换为您的活动类从其片段访问活动activity
,然后膨胀视图。
bottomNavigation = (activity as MyActivityName).findViewById(R.id.bottom_navigation_view)
推荐阅读
- javascript - Stackblitz 错误从项目加载二进制文件
- sql - PostgreSQL 性能,使用 ILIKE 仅占两个百分比而不是根本不使用
- python - 无法从 CSV 文件中获取相关密码和 ID
- delphi - 如何限制for循环仅打印列表中的前几条记录?
- rest - 上次修改日期的 Acumatica REST API 过滤器
- apache-zeppelin - Apache Zeppelin 如何为每个用户保存解释器配置
- android - Android 在 RecyclerView 项目点击时访问 TextView 值
- python - 如何在python中的数据集中的任何列中找出一个或多个值为零的行
- rust - 对于 u8 字节,是否有类似 char::escape_default 的函数?
- ios - 模拟器在验证 Apple ID 登录时崩溃