在Android中使用putExtra

时间:2018-03-23 18:31:47

标签: java android kotlin

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"))

2 个答案:

答案 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分别是gradesubject2的值。您应该使用相同的密钥,使用grade2中的Intent方法从getStringExtra检索数据 -

Main2Activity