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

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

Android Studio 3.5.3
API 29



EditText

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

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

 

EditTextの設定

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

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

 

サンプルコード

 
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 などを使います。
 

cat44 00 100x100 - [Android] スマホにEditTextを使って文字を入力する
TextWatcherはEditTextの文字入力を監視します。例えば入力パスワードの制限文字数がある場合に「文字数オーバー」と表示を出すな...

 

References:
EditText | Android Developers
Autofill framework | Android Developers

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

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

 

アプリ開発が上達するお勧め

アプリ開発を始めたけどわからないところがあり、誰かに聞きたいけど周りにはそんな人はいない…あるいは、会社で働いていて日中そんなに時間をとれないなど、オンラインのプログラミングスクールがいいでしょう。

オンラインスクールは色々ありますが、以下の3つはAndroidが学習できる老舗スクールです。


TECH ACADEMY
Androidアプリコース


こういうものではアプリ作れないと言う意見もありますが、それは結局本人のやる気があるかないかです。やる気があっても独学では突破しにくいところは教えてもらうのが一番早い。


侍エンジニア塾
侍エンジニア塾 無料体験レッスン


とても簡単なことなのに本やネットの画像だけでは分かりにくいことはあります。実際に質問してピンポイントで教えてもらうと、なんだそんなこと、と言うのがけっこうあります。


CodeCamp
~約8,000名の受講生と80社以上の導入実績~
現役エンジニアのオンライン家庭教師CodeCamp




直接(ネットで)誰か分かる人に聞いた方が早く解決して、上達も早いと思います。


無料で転職まで
これはアプリ限定ではありませんが無料です
その代わり就職することを前提にしたスクールでエンジニアになって職を得たいのであれば手っ取り早いかもしれません

受講料無料:社会人転職コース




シェアする

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

フォローする