引用SeekBar时应用启动失败,报NullPointerException如何解决?
解决SeekBar获取时NullPointerException(重复ID问题)
问题根源很明确:你的activity_main.xml里ConstraintLayout和SeekBar共用了同一个ID seekBar,Android无法识别你要找的是哪个组件,导致findViewById返回null,调用时直接触发空指针崩溃。
解决步骤:
- 打开
activity_main.xml,找到ConstraintLayout的代码行,把它的android:id="@+id/seekBar"改成唯一的ID,比如android:id="@+id/main_constraint_layout" - 确认SeekBar的ID保持
android:id="@+id/seekBar"(或者也可以改SeekBar的ID,只要两个组件ID不重复就行) - 重新编译运行,此时
val seek = findViewById<SeekBar>(R.id.seekBar)就能正确获取到SeekBar实例,不会再崩溃
额外提醒:Android布局里所有组件的ID必须全局唯一,不管是布局容器还是普通控件,重复ID会导致视图查找混乱,除了空指针,还可能引发其他UI异常。
内容的提问来源于stack exchange,提问作者Daniel Lip
相关产品推荐
相关产品推荐

