gpt4 book ai didi

android - 如何在 Intent 中将字符串转换为在android中编辑文本框?

转载 作者:太空狗 更新时间:2023-10-29 14:39:14 24 4
gpt4 key购买 nike

如何将字符串转换为 EditText,我在一个 Activity 中制作了一个 EditText,然后进行了第二个 Activity ,然后我通过字符串中的 Intent 获得了这个编辑文本
如何将它分配给第二个 Activity 的 edittext,但我没有找到如何将字符串分配给 edittext。这里我使用了一个 go 函数,当按钮发生 onclick 事件时使用该函数

This is my first activity

class MainActivity : AppCompatActivity() , View.OnClickListener{
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
fun go(v:View){
val intent=Intent(this@MainActivity,Main2Activity::class.java)
var aa=EditText1.text
intent.putExtra("name",aa)
startActivity(intent)
}
}

This is my second activity

class Main2Activity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main2)
var str=intent.getStringExtra("name").toString()
et21.setText(str)
}
}

最佳答案

在您的第一个 Activity 更改中,执行以下操作,

 fun go(v:View){
val intent=Intent(this@MainActivity,Main2Activity::class.java)
var aa=EditText1.text.toString()
intent.putExtra("name",aa)
startActivity(intent)
}

在您的第二个 Activity 中,如下所示更改 onCreate 的最后一行,您需要从可为 null 的类型中解包该值。可以使用 let block 来完成可空类型。我还假设 et21 是对编辑文本的引用并且已正确初始化。此解决方案是 null 安全的

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main2)
intent.getStringExtra("name")?.let {
et21.setText(it)
}
}

关于android - 如何在 Intent 中将字符串转换为在android中编辑文本框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51172106/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com