当我尝试添加两个 edittext 时应用程序不断崩溃
App Keeps Crashing When I'm trying to add two editext
当我尝试在 android studio 中添加两个编辑文本的值时,我的 phone 应用程序总是崩溃
我已经尽我所能更改数据类型
package com.example.danculator
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.Button
import android.widget.EditText
import android.widget.TextView
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
lateinit var addbtn: Button
lateinit var fnum: EditText
lateinit var snum: EditText
lateinit var ans: EditText
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
addbtn=findViewById(R.id.add) as Button
fnum=findViewById(R.id.fnum) as EditText
snum=findViewById(R.id.snum) as EditText
ans=findViewById(R.id.ans) as EditText
addbtn.setOnClickListener {
ans.setText(fnum.text.toString().toInt() + snum.text.toString().toInt())
}
}
}
不要使用需要资源 ID 的 setText(int)
,而是使用 setText(CharSequence)
。也就是说,将您的 Int
计算结果转换为 String
:
ans.setText((fnum.text.toString().toInt() + snum.text.toString().toInt()).toString())
此外,为了将来参考,检查崩溃堆栈跟踪应该是尝试找出问题所在的第一步。参见 Unfortunately MyApp has stopped. How can I solve this?
我以前没用过Kotlin,但是看看这部分代码:
ans.setText(fnum.text.toString().toInt() + snum.text.toString().toInt())
在这部分中,您对两个整数值求和,并希望将它们设置为 ans 的文本,而您应该为 ans.So 使用字符串值,您应该再次将其转换为字符串:
ans.setText((fnum.text.toString().toInt() + snum.text.toString().toInt()).toString())
当我尝试在 android studio 中添加两个编辑文本的值时,我的 phone 应用程序总是崩溃 我已经尽我所能更改数据类型
package com.example.danculator
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.Button
import android.widget.EditText
import android.widget.TextView
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
lateinit var addbtn: Button
lateinit var fnum: EditText
lateinit var snum: EditText
lateinit var ans: EditText
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
addbtn=findViewById(R.id.add) as Button
fnum=findViewById(R.id.fnum) as EditText
snum=findViewById(R.id.snum) as EditText
ans=findViewById(R.id.ans) as EditText
addbtn.setOnClickListener {
ans.setText(fnum.text.toString().toInt() + snum.text.toString().toInt())
}
}
}
不要使用需要资源 ID 的 setText(int)
,而是使用 setText(CharSequence)
。也就是说,将您的 Int
计算结果转换为 String
:
ans.setText((fnum.text.toString().toInt() + snum.text.toString().toInt()).toString())
此外,为了将来参考,检查崩溃堆栈跟踪应该是尝试找出问题所在的第一步。参见 Unfortunately MyApp has stopped. How can I solve this?
我以前没用过Kotlin,但是看看这部分代码:
ans.setText(fnum.text.toString().toInt() + snum.text.toString().toInt())
在这部分中,您对两个整数值求和,并希望将它们设置为 ans 的文本,而您应该为 ans.So 使用字符串值,您应该再次将其转换为字符串:
ans.setText((fnum.text.toString().toInt() + snum.text.toString().toInt()).toString())