【超初心者向け】Android入門 EditText編

# はじめに
前回はButtonを解説したので、今回はEditTextについて解説していきたいと思います。

# 記事の対象
- Androidアプリ開発を始めたばかりの人
- 前回の記事を読んだ方

# EditText
EditTextとは、入力可能なテキストフィールドです。

# 1. EditTextを配置していく

```xml:activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <EditText
        android:id="@+id/editText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginStart="30dp"
        android:layout_marginTop="30dp"
        android:layout_marginEnd="30dp"
        app:layout_constraintTop_toBottomOf="@id/textView" />

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="30dp"
        android:text="Click!"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@id/editText" />

</androidx.constraintlayout.widget.ConstraintLayout>
```

前回のTextViewとButtonの間にEditTextを入れていきます。

# 2. 実行
一旦このまま実行していきましょう。

![スクリーンショット 2020-10-23 20.06.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411927/e0e60b58-5a94-d0e0-637c-a68299ed4ce9.png)

下線が付いているところがEditTextです。このまま入力するだけだとつまらないですよね。

なので今回はボタンを押したら上のTextViewに入力したテキストを反映させるようにしましょう。

# 3. MainActivity.ktでEditTextを認識させる

```kotlin:MainActivity
package com.example.helloworld

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.TextView

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val textView = findViewById<TextView>(R.id.textView)

        val editText = findViewById<EditText>(R.id.editText)

        val button = findViewById<Button>(R.id.button)
        button.setOnClickListener {
            textView.text = editText.text
        }
        
    }
}
```

```kotlin
val editText = findViewById<EditText>(R.id.editText)
```
でActivityにEditTextを認識させます。

# 4.ボタンをクリックした時の動作を記述する

```kotlin
button.setOnClickListener {
    textView.text = editText.text
}
```

textViewにeditTextの入力値を代入します。

# 5.実行！
EditTextに何かしら入力してから、ボタンをクリックしてみてください！
そうするとEditTextの入力値がTextViewに反映されてると思います。


# 6.まとめ
今回はEditTextの使い方、というかEditTextを使ってTextViewに入力を反映させる方法を解説しました。

今更ですが、このシリーズは最終的にTodoアプリを作っていきたいと思っていますので最後までお付き合いいただけたらと思います。