【发布时间】:2020-09-16 10:41:03
【问题描述】:
我正在尝试将文本传递给我的第二个活动,但它似乎无法正常工作。 对于我的主要活动,我有一个文本视图,文本显示为“猫”。当按下第一个活动的图像时,我希望将“猫”传递给第二个活动。第二个活动的文本视图也应该显示“Cat”,但是当我这样做时,它将显示为“Info(name=Cat)”,而不仅仅是“Cat”。
我不确定我哪里出错了。
这是我的主要活动
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val image = findViewById<ImageView>(R.id.imageView)
val text = findViewById<TextView>(R.id.textView)
image.setOnClickListener {
val intent= Intent(this, MainActivity2::class.java).apply {
putExtra("name", Info("Cat"))
}
startActivity(intent)
}
}
}
我的包裹类
@Parcelize
data class Info(val name : String) : Parcelable {
}
这是我的第二个活动
class MainActivity2 : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main2)
val info = intent.getParcelableExtra<Info>("name")
val name = findViewById<TextView>(R.id.textView2)
name.text = info.toString()
}
}
【问题讨论】:
标签: android-studio kotlin parcelable