subject2和grade2是转换为String的editText。 这是代码:
val subject2 = addSubject.toString()
val grade2 = addGrade.toString()
val intent2: Intent = Intent(this, Main2Activity::class.java)
intent2.putExtra(subject2, grade2)
}
那么为什么当我去Main2Activity时,我看到subject2和grade2是一个未解决的参考。 下面是Main2Activity的代码:
var words = ArrayList<Word>()
words.add(Word(subject2, grade2))
words.add(Word("English", "90"))
words.add(Word("Arabic", "90"))
答案 0 :(得分:0)
您希望将数据从一个活动传递到另一个活动。
以下是一个示例,您可以这样做: 在activity1:
var userName = username.text.toString()
var password = password_field.text.toString()
intent.putExtra ("KEY1", userName)
intent.putExtra ("KEY2", password)
startActivity (intent)
引号是获取第二个活动的键
活性2:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_second)
var user: String = intent.getStringExtra("KEY1")
var pass: String = intent.getStringExtra("KEY2")
user_name.setText(user)
password.setText(user)
}
答案 1 :(得分:0)
putExtra
的{{1}}方法接受两个参数,一个用于名称,一个是键,另一个用于传递的实际值 -
Intent
在您的情况下,您需要确保将值相应地传递给putExtra(String name, String value)
,如下所示 -
Activity
此处val subject2 = addSubject.toString()
val grade2 = addGrade.toString()
val intent2: Intent = Intent(this, Main2Activity::class.java)
intent2.putExtra("subject", subject2)
intent2.putExtra("grade", grade2)
和subject
分别是grade
和subject2
的值。您应该使用相同的密钥,使用grade2
中的Intent
方法从getStringExtra
检索数据 -
Main2Activity