2017-12-24 13 views
0

こんにちは皆、私はAndroidスタジオで電卓を作ろうとしています。私は新しい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" /> 

そして、私のAndroid 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() 

user Doubleを入力して10進数で入力するか、toInt()を整数に変換するにはダブルを使用します。

関連する問題