[Android] スマホにEditTextを使って文字を入力する

Androidアプリで文字入力を扱うにはEditTextを使います。
以下は EditText に文字を入れ、ボタンをタップすることにより TextView に表示される簡単な例です。
 
edittext 01 - [Android] スマホにEditTextを使って文字を入力する

Android Studio 3.2.1
Android 9.0

 



EditText

 
単純な文字入力ですが、実は色々と奥深いものがあります。
入力の文字について、終了のタイミングとその入力の取得、フォーカスの外し方などなど、とりあえず基本的なところを理解しておきましょう。
 

 

EditTextの設定

基本的な使い方については、TextView などと同じようにレイアウトファイルの EditText の id で設定します。
 

 
文字入力が終了した状態にて、Button を使って文字列を取り出すトリガーにします。
 
入力された文字を取り出すために
getText().toString()
を使います
 

 

320x480 0107ddd2cbf3fe9b2650df47e5e47ebd d740e - [Android] スマホにEditTextを使って文字を入力する

サンプルコード

 
EditTextに文字を入れ、ボタンをタップすることにより TextView に表示されるアプリです。
 
MainActivity.java

 
レイアウトです
activity_main.xml

 
android:hint
android:autofillHints
android:inputType
を設定しないとwarningが出ます。
 
android:hint
ここに文字入力をしてくださいなどわかるように半透明の文字を出します。
入力し始めるとそれはなくなります。
 
android:autofillHints
これは以前に入力したものを再度使いたい場合など、ログインのID名などを表示してミスタイプを防ぐためのものです。
ただここを設定しただけではできないので、AutofillServiceなどの実装が必要です。ここでは扱わないので適当にwarningを消す目的だけの設定になっています。
 
android:inputType
以前はこれがなくてもwariningも出なかったのですが、実際数字を入れて欲しいのか、漢字なのかなどによりキーボードの種類が変わります。
 
リソースです
strings.xml

 

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

TextWatcherはEditTextの文字入力を監視します。以下は8文字を超えると、「文字数オーバー」と表示を出す例。  

 

References:
EditText | Android Developers
Autofill framework | Android Developers

誤字脱字、意味不明で分からにゃイ、
などのご意見はこちらから mailフォーム

ブックマークしておくと便利です このエントリーをはてなブックマークに追加

ページのトップへ戻る




 

シェアする

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

フォローする