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

Kotlin中Intent传值失败:如何修复BookInsert获取UserInd为null的问题

问题修复方案

核心问题

你在MainActivity登录成功后,把UserInd通过Intent传给了LoginActivity,但你是在BookInsert.kt里尝试获取这个值——这俩Activity根本不在同一条跳转链路上,所以BookInsert拿不到数据是必然的。

修复方式分两种情况:


情况1:登录成功后直接跳转到BookInsertActivity

如果你的业务逻辑是登录完直接进入BookInsert,那直接修改MainActivity里的Intent目标Activity:

// 原代码:跳转到LoginActivity
// val intent = Intent(this@MainActivity,LoginActivity::class.java)
// 修改为:跳转到BookInsertActivity
val intent = Intent(this@MainActivity, BookInsert::class.java)
intent.putExtra("UserInd", userInd)
Log.d("MainActivity", "UserInd: $userInd")
startActivity(intent)
finish()

这样BookInsert里的代码就能正常拿到UserInd了。


情况2:登录成功后先进入LoginActivity,再从LoginActivity跳转到BookInsertActivity

如果必须经过LoginActivity中转,那需要在LoginActivity里把接收到的UserInd再传递给BookInsert:

  1. 先在LoginActivity里获取到UserInd:
val userInd = intent.getStringExtra("UserInd")
  1. 当从LoginActivity跳转到BookInsert时,把这个值再放进去:
val intent = Intent(this, BookInsert::class.java)
intent.putExtra("UserInd", userInd)
startActivity(intent)

这样BookInsert里的代码就能拿到正确的值了。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 00:26:01