android - 如何通过意图将字符串值从一个活动发送到另一个活动?
问题描述
如何将用户在 StartActivity 中的 editText 中放入的值发送到 Second Activity 中的 textView3?我本质上是在 StartActivity 中询问用户他的名字,然后在 SecondActivity 中打印“你的名字是___”。
我确实尝试使用,然后在 SecondActivity 但它显示 null 我该怎么办?
开始活动::
button.setOnClickListener
{
val name = editText.text.toString()
val intent2 = Intent (this, SecondActivity::class.java)
intent.putExtra("name", name)
startActivity(intent2)
}
第二活动::
override fun onCreate(savedInstanceState: Bundle?)
{
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_second)
val name2 = intent.getStringExtra("name")
textView3.text = name2
}
错误是它打印“你的名字为空”。enter code here
解决方案
这看起来像是 Kotlin 正在帮助您制作的一个错字。您开始的意图的名称是intent2
,但您将“名称”字符串添加到intent
. 这是可能的,因为 Kotlin 允许您访问getIntent()
(即Intent
用于启动当前活动的对象)的结果,就好像它是一个属性一样。
将此行更改为使用intent2
,它应该开始工作:
intent2.putExtra("name", name)
推荐阅读
- xilinx - 当被调用函数不可合成时合成调用函数
- php - 在循环中将三个元素增加一个数字
- google-apps-script - Google Scripts - 多重保护的 removeEditors()
- reference - IBM Integration Bus ESQL 对 OutputRoot 的引用不起作用
- c# - C# 和 WPF,当使用 mvvm 样式和按钮操作作为带有命令参数的命令时,如何始终在命令参数中创建新对象?
- angular - 在 angular6 中传递 JSON.stringfy 中的多个值
- c++ - 检查两个矩形是否重叠或边缘是否接触
- amazon-web-services - AWS 认知和组
- android - 根据 Android 中的焦点元素在 WebView 中显示或隐藏键盘
- javascript - 页面加载之间的 getBoundingClientRect 偏差,替代方案?