はじめに
前回はButtonを解説したので、今回はEditTextについて解説していきたいと思います。
記事の対象
- Androidアプリ開発を始めたばかりの人
- 前回の記事を読んだ方
EditText
EditTextとは、入力可能なテキストフィールドです。
1. EditTextを配置していく
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. 実行
一旦このまま実行していきましょう。
下線が付いているところがEditTextです。このまま入力するだけだとつまらないですよね。
なので今回はボタンを押したら上のTextViewに入力したテキストを反映させるようにしましょう。
3. MainActivity.ktでEditTextを認識させる
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
}
}
}
val editText = findViewById<EditText>(R.id.editText)
でActivityにEditTextを認識させます。
4.ボタンをクリックした時の動作を記述する
button.setOnClickListener {
textView.text = editText.text
}
textViewにeditTextの入力値を代入します。
5.実行!
EditTextに何かしら入力してから、ボタンをクリックしてみてください!
そうするとEditTextの入力値がTextViewに反映されてると思います。
6.まとめ
今回はEditTextの使い方、というかEditTextを使ってTextViewに入力を反映させる方法を解説しました。
今更ですが、このシリーズは最終的にTodoアプリを作っていきたいと思っていますので最後までお付き合いいただけたらと思います。