Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 编辑文本值之和_Android_Android Studio_Kotlin - Fatal编程技术网

Android 编辑文本值之和

Android 编辑文本值之和,android,android-studio,kotlin,Android,Android Studio,Kotlin,这里我有两个EditText小部件(仅限数字),我想从这些小部件中找到值的总和并将其放入TextView 这是我的主要活动。kt: import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.EditText import android.widget.TextView class MainActivity : AppCompatActivity() {

这里我有两个EditText小部件(仅限数字),我想从这些小部件中找到值的总和并将其放入TextView

这是我的主要活动。kt


import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.EditText
import android.widget.TextView

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }
    var resultText = findViewById<android.widget.TextView>(R.id.textView)
    public fun plus(){
        val editText1: Int = findViewById<android.widget.EditText>(R.id.editTextNumber).text.toString().toInt()
        val editText2: Int = findViewById<android.widget.EditText>(R.id.editTextNumber2).text.toString().toInt()
        resultText.setText(editText1 + editText2)
    }
}```

导入androidx.appcompat.app.appcompat活动
导入android.os.Bundle
导入android.widget.EditText
导入android.widget.TextView
类MainActivity:AppCompatActivity(){
重写创建时的乐趣(savedInstanceState:Bundle?){
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
var resultText=findViewById(R.id.textView)
公共娱乐+(){
val editText1:Int=findViewById(R.id.editTextNumber).text.toString().toInt()
val editText2:Int=findViewById(R.id.editTextNumber2).text.toString().toInt()
resultText.setText(editText1+editText2)
}
}```

TextView有一个方法setText(),该方法将资源Id作为int,如果您在setText()内进行求和,则表示您正在传递int,并且可能存在资源未找到异常您需要将sum作为字符串传递给setText()

更改此行

resultText.setText(editText1 + editText2)
对此

resultText.setText("" + (editText1 + editText2))
第一行使用的是
setText(int-stringResourceId)
,但您只传递了sum,而不是资源id。因此,请将此sum转换为
String
,然后使用
setText(String text)
设置为
resultText


将一些
按钮
添加到布局(
R.layout.activity\u main
),将
OnClickListener
附加到它(例如,在
onCreate
内部),并调用
plus()
监听器的
方法内部
onClick
方法

,当EditText文本更改时,您需要回调。为每个EditText添加一个
TextWatcher
,以完成此操作。或者只需添加一个按钮,在单击时调用
plus()
。不起作用。。。在末尾添加了
.toString
。现在看起来是这样的:
resultText.setText((editText1+editText2.toString())
.toString应该可以工作。可能还有其他问题。你能补充一下你的问题吗