我的主要活動代碼在這里
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val button=findViewById<Button>(R.id.save)
val loadButton=findViewById<Button>(R.id.load)
loadButton.setOnClickListener {
findViewById<EditText>(R.id.username).text
}
button.setOnClickListener {
startActivity(Intent(this,DisplayActivity::class.java).
putExtra("username",findViewById<TextView>(R.id.username).text))
}
}
}
我的顯示活動代碼在這里
class DisplayActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_display)
val username=intent.getStringExtra("username").toString();
findViewById<TextView>(R.id.username1).text=username;
}
}
但是當我單擊保存按鈕(R.id.save)時,文本視圖顯示為空。我哪里錯了?
uj5u.com熱心網友回復:
使用只mEditText.text回傳Editablenot String,試試下面的代碼:
//...
// Rest of the code above
val loadButton = findViewById<Button>(R.id.load)
val mEditText = findViewById<EditText>(R.id.username)
loadButton.setOnClickListener {
startActivity(Intent(this, DisplayActivity::class.java).apply {
putExtra("username", mEditText.text.toString()) // <- toString()
})
}
并得到這樣的值:
class DisplayActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_display)
val username = intent.getStringExtra("username")
findViewById<TextView>(R.id.username1).text = username
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/493047.html
上一篇:為片段提供背景關系
下一篇:包含雙精度值的串列的折線圖表示
