我是Android的初学者。我有两个布局资源文件,如上所示。 我想在第一个单词中输入一个单词,然后单击按钮,然后假设转到第二个布局资源文件并在文本视图框上显示该单词。每当尝试尝试时,我都会不断收到错误消息。
下面是我写的代码
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
setSupportActionBar(toolbar)
button.setOnClickListener {
startActivity(Intent(this, NewLayoutActivity::class.java))
}
}
用于新布局活动
class NewLayoutActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.new_layout)
textView.text = ${editText.text}
}
答案 0 :(得分:1)
在打开新活动时有意图地传递数据:
val intent = Intent(this, NewLayoutActivity::class.java)
intent.putExtra("value", "value you want to pass")
startActivity(intent)
然后参加第二项活动:
var bundle :Bundle ?=intent.extras
var message = bundle!!.getString("value") // if the value is type of String
答案 1 :(得分:1)
您应该尝试`意图
var data2 = editText.text.toString
val intent = Intent(applicationContext,secondActivity::class.java)
intent.putExtra("name",data2)
startActivity(intent)
在第二个
val data = intent.getStringExtra("name")
您应该学习导航更好,更轻松
答案 2 :(得分:1)
从此更改代码
button.setOnClickListener {
startActivity(Intent(this, NewLayoutActivity::class.java))
}
对此
val value = edit_text_id.text
button.setOnClickListener {
startActivity(Intent(this, NewLayoutActivity::class.java)
.putExtra("key", value))
}
然后,通过此活动获得第二次活动的价值
val value = Intent().getStringExtra("key")
text_view_id.text = value