[AndroidのEditText制御Tips その3]
エンターボタンを押した時の次のフォーカス先を指定する


こんにちは。
マイ・フェイバリット・マンガは『宇宙兄弟』、mukaiyachiです。

AndroidのEditText制御Tipsの3回目です。
前回ではキーボードをエンターキーが押されたら閉じる方法を書きました。
今回は、「 エンターボタンを押した時の次のフォーカス先を指定する方法」について紹介します。

フォーカスの移動の支持(エンターキーを押したときなど)があった場合、通常は支持の方向にあった一番近いオブジェクトに遷移します。

そうではなく、自分で遷移先を変えたい場合や明示的に指定したい場合は、ViewクラスのsetNextFocusDownId()メソッドを使用することで可能になります。

Androidのリファレンスページ
http://developer.android.com/reference/android/view/View.html#setNextFocusDownId(int)

今回はこのような画面を作ります。
EditTextを縦や横に並べた電話番号と住所を入力するような画面です。

android_edittext3_a

まずはレイアウトファイルをつくります。

次にアクティビティ側です。

■アクティビティ

例えば遷移先を何も指定しない場合、①のEditTextでエンターキーを押すと、④のEditTextに遷移してしまいます。

android_edittext3_c

 

そうではなくて、①のEditTextが入力し終わったら②のEditTextに遷移させたい場合は、「setNextFocusDownId」で次の遷移先を指定する必要があります。

android_edittext3_b

 

以上となります。

ぜひお試しください。


コメント