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

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

Android Studio 3.4.2
API 29
AndroidX



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





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

尚、スクールがダメだと言う人がいますが、やる気があれば問題ありません。与えられるのを待っていてはいけないですね
欲しいものは取りに行くのです。


Google Pixel 3 XLグローバル版
SIMフリー 並行輸入品
6.3インチの大画面
背景をぼかすポートレートモード撮影


Anker PowerCore II Slim 10000
Power IQ 2.0搭載
iPhone & Android対応

シェアする

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

フォローする