2017-12-24 12 views
0

안녕하세요 여러분, 안드로이드 스튜디오에서 계산기를 만들려고 노력하고 있습니다. 새로운 Kotlin과 Java는 나에게있어서 어렵습니다. 여기Android Studio의 사용자 입력 값을 숫자 값으로 가져와 kotlin의 변수 int로 변환하는 방법은 무엇입니까?

<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 내가 문자열 editText1을 변환 할 수없는 나는 여기

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") 

    } 

} 

을 제기한다 : 여기

내 mainActivity XML 파일의 소스 코드 및 editText2 int로, 그래서 내가 ediText3 설정할 수 있습니다 응답으로

답변

0

EditTexttext 속성은 Editable입니다. 먼저 String로 변환해야하고, 다음 Int로 변환 할 수 있습니다 : 안드로이드 XML 파일에

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

도움 주셔서 감사합니다. 작동합니다. –

+0

예! 대답을 수락하는 것을 잊지 마십시오. – Egor

0

변경 입력 유형 :

android:inputType="number|numberDecimal" 

을 그리고이 코드를 사용합니다

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

사용자 Double을 입력하여 10 진수로 입력하거나 toInt()을 Integer로 변환하십시오.