[Android & Kotlin] EditText の文字を入力する

EditTextをKotlinで作ってみます。例として文字を入力、ボタンをタップすることにより TextView に表示させてみます。
 
1x1.trans - [Android & Kotlin] EditText の文字を入力する


Android Studio
2021.1.1

 




EditText

 
EditTextは文字の入力を扱います。
とりあえず基本的なところを理解しておきましょう。

JavaでのEditTextはこちらを参照してください。

https://akira-watson.com/android/edittext.html

 

 

EditTextの設定

 

activity_main/xml レイアウトファイルにEditTextの設定を記述します。
id を edit_text として作成すると、
 


 
EditTextから入力された文字を取り出すために


を使います
 

文字が入力されたことを確認してEditTextからButton を使って文字列を取り出すトリガーにします。
基本的には、このようにして使うことが可能です。
 

 

サンプルコード

 
まとめてみます。
 
MainActivity.kt
View Binding を使います


 
レイアウトです
activity_main.xml


リソースです
strings.xml


 
 
build.gradle


 
これで実行させてみましょう
 
ちょっと見づらいのと、レイアウトのEditTextが黄色くワーニングになっていてInputTypeやhintを入れないといけないので修正してみましょう。

 

inputType, hint

 
android:hint
android:autofillHints
android:inputType
を設定しないとwarningが出ます。
 
android:hint
ここに文字入力をしてくださいなどわかるように半透明の文字を出します。
入力し始めるとそれはなくなります。


 
android:autofillHints
これは以前に入力したものを再度使いたい場合など、ログインのID名などを表示してミスタイプを防ぐためのものです。
ただここを設定しただけではできないので、AutofillServiceなどの実装が必要です。ここでは扱わないので適当にwarningを消す目的だけの設定になっています。


 
android:inputType
以前はこれがなくてもwariningも出なかったのですが、想定されるものが数字か文字なのかなどによりキーボードの種類が変わります。


その他多数あります

  • text
  • textUri
  • number
  • phone
  • daterime
  • etc.

入力方法のタイプの指定
InputType | Android Developers
 
TextViewの文字サイズを大きくして背景色を明るいグレーで設定します。

activity_main.xml


 
hintをリソースに追加します。


れで完成です。

 

この方法は、昔のボタンしかなかった時のアプリでは有効ですが実際には困ることがあります。スマホの画面タッチはいつでも、どこでもできるので文字入力だけして、他のアイコンをタップしたり、Homeに戻ったりと文字を入力しても、確定してくれないユーザーもいるからです。スマホではそれができてしまいます
 
そんなケースにはリアルタイムに文字入力を監視するTextWatcher などを使います。
 

Reference:
EidtText | Android Developers
入力方法のタイプの指定
InputType | Android Developers

シェアする

  • このエントリーをはてなブックマークに追加

フォローする