Kotlin中Activity间数据传递失败,出现null值求助
解决Activity间传递数据为null的问题
你的问题出在跳转逻辑的Intent使用错误:在next按钮的点击事件里,你创建了跳转用的lastScreen Intent,但却给当前Activity默认的intent对象添加了Extra,而不是你刚创建的lastScreen。
修正后的MainActivity中next点击事件代码:
next.setOnClickListener(){ val lastScreen = Intent(this, SecondActivity::class.java) // 给创建好的lastScreen Intent添加Extra,而非全局的intent lastScreen.putExtra("UserName", Name) startActivity(lastScreen) }
额外建议
- 遵循Kotlin命名规范:变量名用小驼峰,把
Name改成name,和EditText的name区分开的话可以叫inputName之类的。 - 在SecondActivity中处理null情况,避免显示
null good boy:
val user = intent.getStringExtra("UserName") ?: "Unknown" val usName = findViewById<TextView>(R.id.USname) val mes = "$user good boy" usName.text = mes
这样修改后,传递的值就能正确显示了。
内容的提问来源于stack exchange,提问作者BSs-r
相关产品推荐
相关产品推荐

