【问题标题】:Kotlin EditTextKotlin 编辑文本
【发布时间】:2020-09-17 21:24:27
【问题描述】:

您好我有以下问题,到目前为止我一直在使用 Java,但我开始学习 Kotlin。当我使用 EditText 时,如何存储多个整数或双精度值。使用 Java,我会这样做:

            double res;
            int f = 0;

            String[] values = editText.getText().toString().split("\\s");

            for (int i = 0; i < 6; i++) {

                res = Double.parseDouble(String.valueOf(values[f]));
                f++;

            }

            double value1 = Double.valueOf(values[0]);
            double value2 = Double.valueOf(values[1]);
            double value3 = Double.valueOf(values[2]);
            double value4 = Double.valueOf(values[3]);
            double value5 = Double.valueOf(values[4]);
            double value6 = Double.valueOf(values[5]); 

我使用“for”并将输入的每个值存储在下面的编辑文本中。如何使用 Kotlin 做到这一点? 使用 Android studio 我可以转换代码,我做到了,但是当我按下按钮显示我的结果时,应用程序关闭:

        var res: Double
        var f = 0
        var i: Int

        val values: List<String> = edit_text.toString().split("\\s")

        for (i in 0..5) {
            res = values[f].toDouble()
            f++
        }

        val value1 = java.lang.Double.valueOf(values[0])
        val value2 = java.lang.Double.valueOf(values[1])
        val value3 = java.lang.Double.valueOf(values[2])
        val value4 = java.lang.Double.valueOf(values[3])
        val value5 = java.lang.Double.valueOf(values[4])
        val value6 = java.lang.Double.valueOf(values[5])

        textView.setText(String.format("%f, %f, %f, %f, %f, %f", value1, value2, value3, value4, value5, value6)) 

谢谢。

【问题讨论】:

    标签: arrays kotlin android-edittext


    【解决方案1】:

    EditText 与您想要实现的目标无关,因为它是 Andorid SDK 的一部分,而不是 Java 或 Kotlin。 据我了解,您要解析输入值,添加它们,还要显示。尝试类似:

        val values: List<String> = edit_text.toString().split("\\s")
        
        val amountOfValues: Int= values.size
        val valuesAsDoubles: List<Double> = values.map{ it.toDouble() }
        val result: Double = valuesAsDoubles.sum()
        val stringToDisplay: String = valuesAsDoubles.joinToString("")
        textView.setText(stringToDisplay)
    

    了解集合操作,例如。 map{}.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-29
      • 1970-01-01
      • 1970-01-01
      • 2012-03-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多