Оценете темата:
  • 0 гласа - средно 0
  • 1
  • 2
  • 3
  • 4
  • 5

Преминаване от Java към Kotlin
#1

Здравейте имам следния въпрос, до сега използвах Java, но започнах да уча Kotlin. Когато използвам EditText, как мога да съхраня повече от една стойност от тип integer или double. С 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.
Цитирай
Аксесоари
#2

Един малък съвет. В студиото има опция за автоматично конвертиране на код от java в kotlin. Съответно копирай този код и го постави в Kotlin файл и той сам ще се конвертира. Smile
Цитирай
#3

(2020-09-16, 23:42:36)yo_asakura написа:  Един малък съвет. В студиото има опция за автоматично конвертиране на код от java в kotlin. Съответно копирай този код и го постави в Kotlin файл и той сам ще се конвертира. Smile

Опитах, но когато натисна бутон за да ми изведе резултата, приложението изключва:

Код:
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))
Цитирай
#4

Просто научи синтаксиса на новия език и ще знаеш кое как да правиш. Как ще го направиш да прочетеш документация, да прегледаш видео клипове си е изцяло твое решение.
Цитирай
#5

не се занимавам с Kotlin, но на пръв поглед в Kotlin кода ти виждам, че даваш split, за да направиш List, а трябва да направиш Array. също се опиваш да конвертираш edit_text.toString() директно, без никакъв getText() на самия обект. също и не знам тоя for каква роля ти играе в кода.
Цитирай
#6

Ти и джава не си научил много като гледам, защо реши, че с конвертиране ще научиш котлин? Тук разделяш някакъв стринг, който после съединяваш?!? Защо не го добавиш към string пак, ами правиш толкова много променливи? В debug прозореца какви грешки ти дава?
https://stackoverflow.com/questions/4409...ing-kotlin
Цитирай




Потребители разглеждащи темата: 1 гост(и)