如何从 edittext 获取整数并使用 kotlin 将它们相乘

how to get integers from edittext and multiply them using kotlin

我似乎无法弄清楚如何将输入到文本编辑器中的值转换为 srting/int,然后将它们相乘。我有 3 个输入,我想乘以单击按钮,然后显示在文本视图的文本中。 作为查看我的按钮是否有效以及更改文本视图是否有效的练习,我使用了 append 并且它有效,我只是无法让它们相乘。

查看其中一些线程,我似乎仍然无法使其工作:

Android - How to get text from edittext and calculate them?

Android - How to get text from edittext and calculate them?

Convert EditText input to integer and multiply?

Koltin 中的片段代码(我需要缺少的)

import android.os.Bundle
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import kotlinx.android.synthetic.main.MultiplyExample.*

class MultiplyExample : Fragment() {

override fun onCreateView( inflater: LayoutInflater, container: 
ViewGroup?, savedInstanceState: Bundle? ): View? {

return inflater.inflate(R.layout.fragment_retention, container, false) }
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {

super.onViewCreated(view, savedInstanceState)

button.setOnClickListener(object : View.OnClickListener {
override fun onClick(v: View) {

val a: Int = length.text.toString().toInt()
val b: Int = flight.text.toString().toInt()
val c: Int = rotation.text.toString().toInt()

作为 stringbuilder 的追加工作#

val sb = StringBuilder()
sb.append(a).append(b).append(c)
d.text = sb

XML 对于 a,b,c 是一样的

<EditText
        android:inputType="number"

您的问题是您试图在没有 findViewById 的情况下引用片段中的小部件。

在您的方法中 onCreateView 在 return 语句之前放置一些类似的代码。

val view = inflater.inflate(R.layout.fragment_retention, container, false)

val a: Int = view.findViewById<TextView>(R.id.length).text.toString().toInt()
val b: Int = view.findViewById<TextView>(R.id.flight).text.toString().toInt()
val c: Int = view.findViewById<TextView>(R.id.rotation).text.toString().toInt()

val multiplication = a * b * c

return view

在片段中尝试以下代码

 myView= inflater.inflate(R.layout.fragment_blank, container, false)

        myView.multiply_btn.setOnClickListener { myView ->
            val number1 =number_et1.text.toString().toInt()
            val number2 = number_et2.text.toString().toInt()
            val number3 = number_et3.text.toString().toInt()

            val multiply: Int = number1 * number2 * number3
            answer_tv.text = "Multiply is: " + multiply
        }
        return myView

希望对你有用。

首先使用 toString() 将 textField 数据转换为字符串,然后使用以下代码将结果数据转换为整数或双精度:

btnSecond.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                double num1,num2,res;
                num1 = Double.valueOf(editFirst.getText().toString());
                num2 = Double.valueOf(editSecond.getText().toString());
                res = num1 - num2;
                result.setText(""+res);