尝试将两个 EditText 的乘积显示为另一个 activity 中的 TextView
Trying to show the product of two EditTexts as a TextView in another activity
我在将两个 EditText 的乘积传递给另一个 activity 中的 TextView 时遇到了很多麻烦。这是我的 MainActivity 代码。
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val button1: Button = findViewById(R.id.button1)
val editText1: EditText = findViewById(R.id.editText1)
val editText2: EditText = findViewById(R.id.editText2)
val firstNumber = editText1.toString().toInt()
val secondNumber = editText2.toString().toInt()
val product = firstNumber * secondNumber
button1.setOnClickListener{
val intent = Intent(this, Activity2::class.java)
intent.putExtra("RESULT_PRODUCT", product)
startActivity(intent)
}
}
}
这是我的 Activity2 代码:
class Activity2 : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_2)
val product = intent.getIntExtra("RESULT_SUM", 0)
textView1.text = product.toString()
}
}
我对 Kotlin 和 Android Studio 比较陌生,但这导致左右崩溃。
首先,你必须计算OnClickListener
里面的product
才能得到正确的结果。
button1.setOnClickListener{
val firstNumber = editText1.text.toString().trim()
val secondNumber = editText2.text.toString().trim()
if(!(firstNumber.isEmpty() or secondNumber.isEmpty())) {
val product = firstNumber.toInt() * secondNumber.toInt()
val intent = Intent(this, Activity2::class.java)
intent.putExtra("RESULT_PRODUCT", product)
startActivity(intent)
} else {
//Show messages
}
}
然后 您必须使用您在 activity 中使用的确切密钥 RESULT_PRODUCT 来通过 intent
传递数据
val product = intent.getIntExtra("RESULT_PRODUCT", 0)
您正在从 MainActivity 传递 "RESULT_PRODUCT",但在您的 Activity2 中得到 "RESULT_SUM"。你应该在第二个 activity.
中使用 intent.getIntExtra("RESULT_PRODUCT", 0)
我在将两个 EditText 的乘积传递给另一个 activity 中的 TextView 时遇到了很多麻烦。这是我的 MainActivity 代码。
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val button1: Button = findViewById(R.id.button1)
val editText1: EditText = findViewById(R.id.editText1)
val editText2: EditText = findViewById(R.id.editText2)
val firstNumber = editText1.toString().toInt()
val secondNumber = editText2.toString().toInt()
val product = firstNumber * secondNumber
button1.setOnClickListener{
val intent = Intent(this, Activity2::class.java)
intent.putExtra("RESULT_PRODUCT", product)
startActivity(intent)
}
}
}
这是我的 Activity2 代码:
class Activity2 : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_2)
val product = intent.getIntExtra("RESULT_SUM", 0)
textView1.text = product.toString()
}
}
我对 Kotlin 和 Android Studio 比较陌生,但这导致左右崩溃。
首先,你必须计算OnClickListener
里面的product
才能得到正确的结果。
button1.setOnClickListener{
val firstNumber = editText1.text.toString().trim()
val secondNumber = editText2.text.toString().trim()
if(!(firstNumber.isEmpty() or secondNumber.isEmpty())) {
val product = firstNumber.toInt() * secondNumber.toInt()
val intent = Intent(this, Activity2::class.java)
intent.putExtra("RESULT_PRODUCT", product)
startActivity(intent)
} else {
//Show messages
}
}
然后 您必须使用您在 activity 中使用的确切密钥 RESULT_PRODUCT 来通过 intent
val product = intent.getIntExtra("RESULT_PRODUCT", 0)
您正在从 MainActivity 传递 "RESULT_PRODUCT",但在您的 Activity2 中得到 "RESULT_SUM"。你应该在第二个 activity.
中使用intent.getIntExtra("RESULT_PRODUCT", 0)