我正在尝试将用户的输入发送到第二个屏幕。值为dgc、outMEA等。下面是主要活动的代码,带有一个将您发送到第二个屏幕的按钮:
package com.example.prodapp12
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.android.synthetic.main.activity_main.sulfur
class MainActivity : AppCompatActivity() {
companion object {
const val dgc = "dgc" // key for Your value, You have to define each key for every value that You want to pass to another activity
const val dcx = "dcx"
const val outmea = "outmea"
const val outdea = "outdea"
const val sulfur = "sulfur"
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val dgc = dgc
val dcx = dcx
val outmea = outmea
val outdea = outdea
val sulfur = sulfur
class ResultActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_rezultate)
val dcx = intent.getStringExtra(MainActivity.dcx) // receive saved value
Log.d("dcx", "Your value: dcx") // D/MyTag: Your value: My string
val dgc = intent.getStringExtra(MainActivity.dgc)
Log.d("dgc", "Your value: dgc")
val outmea = intent.getStringExtra(MainActivity.outmea)
Log.d("outmea", "Your value: outmea")
val outdea = intent.getStringExtra(MainActivity.outdea)
Log.d("outdea", "Your value: outdea")
val sulfur = intent.getStringExtra(MainActivity.sulfur)
Log.d("sulfur", "Your value: sulfur")
}
}
calc.setOnClickListener {
val intent = Intent(this, ResultActivity::class.java).apply {
putExtra("dcx", "dcx") // add value to intent with defined key
putExtra("dgc", "dgc") // add value to intent with defined key
putExtra("outmea", "outmea") // add value to intent with defined key
putExtra("outdea", "outdea") // add value to intent with defined key
putExtra("sulfur", "sulfur") // add value to intent with defined key
}
startActivity(Intent(this, Rezultate::class.java))
}
}
}
这inMEA是一个 textView 需要使用来自第一个屏幕的输入值显示一些简单的算术计算 这是第二个屏幕:包 com.example.prodapp12
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import kotlinx.android.synthetic.main.activity_rezultate.*
class Rezultate : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_rezultate)
val extras = intent.extras
if (extras != null) {
val dcx = extras.getString("dcx")
val dgc = extras.getString("dgc")
val outmea = extras.getString("outmea")
val outdea = extras.getString("outdea")
val sulfur = extras.getString("sulfur")
//The key argument here must match that used in the other activity
}
Ref.setOnClickListener {
inMEA.text = intent.getStringExtra(MainActivity.sulfur)
}
}
}