You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio中显式Intent跳转Login页面触发应用崩溃问题

解决Explicit Intent跳转LoginActivity时的崩溃问题

从崩溃日志可定位核心错误:

Caused by: kotlin.UninitializedPropertyAccessException: lateinit property binding has not been initialized

问题出在LoginActivity的初始化逻辑中:你声明了lateinit var binding: ActivityLoginBinding,但在访问binding.username、binding.password等控件前,未完成binding的初始化,而是直接调用传统的setContentView(R.layout.activity_login),导致ViewBinding未生效。

修改LoginActivity的onCreate方法

将LoginActivity中布局绑定代码替换为ViewBinding的初始化方式:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    // 初始化ViewBinding,替换原有的setContentView(R.layout.activity_login)
    binding = ActivityLoginBinding.inflate(layoutInflater)
    setContentView(binding.root)

    val username = binding.username
    val password = binding.password
    val login = binding.login
    val loading = binding.loading

    // 以下原有逻辑保持不变
    loginViewModel = ViewModelProvider(this, LoginViewModelFactory())[LoginViewModel::class.java]
    // ... 后续代码省略
}

说明

修改后,binding会被正确初始化,后续通过binding访问布局控件的操作不会触发未初始化异常,点击MainActivity的Login按钮后即可正常跳转到LoginActivity页面。

内容的提问来源于stack exchange,提问作者Mathuram Murugaiyan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 04:38:08