Как получить вход от пользователя в Android Studio в числовом значении и преобразовать его в переменную int в kotlin?

Привет всем, я пытаюсь сделать калькулятор в Android Studio, так как я новый Kotlin и Java, поэтому мне сложно.

Вот исходный код моего файла mainActivity xml:

<EditText android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ems="10" android:inputType="textPersonName|number" app:layout_constraintBottom_toTopOf="@+id/editText2" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.094" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.753" tools:hint="First Number" android:numeric="integer|decimal"/> <EditText android:id="@+id/editText2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ems="10" android:inputType="none|textPersonName|number" app:layout_constraintBottom_toTopOf="@+id/editText3" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.094" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/editText1" tools:hint="Second Number" android:numeric="integer|decimal"/> <TextView android:id="@+id/editText3" android:layout_width="217dp" android:layout_height="36dp" android:text="Answer" app:layout_constraintBottom_toTopOf="@+id/okactivity2" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.095" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/editText2" /> 

И вот мой файл mainActivity.kt для Android

 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main2) okactivity2.setOnClickListener{ val num1 = editText1.text val user1: Int = num1 val num2 = editText2.text val user2: Int = num2 val sum = user1 + user2 editText3.setText("Answer is $sum") } } 

Здесь я не могу преобразовать строку editText1 и editText2 в int, так что я могу установить ediText3 как ответ

text свойство EditText имеет тип Editable . Сначала вам нужно преобразовать его в String , а затем преобразовать в Int :

 val num1 = editText1.text.toString().toInt() 

изменить тип ввода в файле android xml:

 android:inputType="number|numberDecimal" 

И используйте этот код:

 val num = editText1.text.toString().toDouble() 

user Двойной ввод данных в десятичном toInt() или использование toInt() для преобразования в Integer.

Intereting Posts
Как получить String от Unit в Android-Kotlin Тесты для Android выполняются без lanuching эмулятора (не отображается диалоговое окно устройства) – пустой набор тестов где поместите этот код в kotlin / firebasedatabase.getinstance (). setpersistenceenabled (true); Подготовьте несколько BuildTypes с теми же шагами в TeamCity Kotlin DSL AES-шифрование. Различия между PHP и Kotlin \ Java Как установить свойство lateinit Kotlin для null Две параллельные строки заменяются в строке kotlin В Kotlin, как я могу прочитать все содержимое InputStream в String? Добавить функцию расширений в класс Math в kotlin Как я могу использовать базу данных пользовательского интерфейса Firebase с Kotlin Неопределенная ссылка: DaoSession с использованием greendao и kotlin Не удалось выполнить синхронизацию проекта с градиентом. Основные функции не будут работать должным образом в Android-студии 3.0 Невозможно ссылаться на подкласс в Котлине Создание цифрового часового класса с использованием Kotlin Каков наилучший способ обработки нулевых ситуаций в Kotlin при расширении класса Java?