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

通过Intent传递整数始终返回默认值问题求助

解决Intent传递整数始终返回默认值的问题

核心问题出在代码执行顺序上:你先调用startActivity(intent)启动第二个Activity,之后才给Intent添加"number"参数,这时候启动Activity用的是还没附加数据的原始Intent,所以第二个Activity必然获取不到正确值,只会返回默认的0。

修正后的第一个Activity代码

//first activity
val count = snapshot.count
val intent = Intent(this, Second::class.java)
intent.putExtra("number", count) // 先添加数据,再启动Activity
startActivity(intent)
finish()

第二个Activity代码无需修改

//second activity
val returned = intent.getIntExtra("number", 0)
room.text = returned.toString()

补充说明

你之前尝试把count转成字符串传递也返回null,本质原因和上面一样——都是启动Activity的时机早于添加数据的时机,导致Intent没有携带任何额外信息。

记住Intent传递数据的正确流程:创建Intent实例 → 调用putExtra()添加所有需要传递的数据 → 最后调用startActivity()启动目标组件,顺序绝对不能颠倒。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 03:22:04