EditTextを縦に並べて配置しており、
1つ目の入力が終わったら2つ目のEditTextへキーボードを閉じないで
Focusを移動させる処理をおこなっております。
下記のコードで基本的にはFocusの移動はできているのですが、
一カ所だけ移動できないところがございます。
Java
1editText1.setOnKeyListener(new View.OnKeyListener() { 2 @Override 3 public boolean onKey(View v, int keyCode, KeyEvent event) { 4 if (event.getAction() == KeyEvent.ACTION_DOWN && keyCode == KeyEvent.KEYCODE_ENTER) { 5 editText2.requestFocus(); 6 return true; 7 } 8 return false; 9 } 10 });
移動出来ないのは下記のxmlの箇所です。
xml
1 <LinearLayout 2 android:layout_width="match_parent" 3 android:layout_height="wrap_content" 4 android:orientation="horizontal" 5 android:background="@drawable/border_bottom"> 6 <TextView 7 android:layout_width="90dp" 8 android:layout_height="wrap_content" 9 android:text="@string/station_text" 10 android:textColor="@color/colorPrimary" 11 android:layout_marginTop="20dp" 12 android:layout_marginBottom="20dp" /> 13 <EditText 14 android:layout_width="wrap_content" 15 android:layout_height="wrap_content" 16 android:id="@+id/station_text" 17 android:textSize="16dp" 18 android:textColor="#333" 19 android:layout_gravity="center_vertical" 20 android:hint="例)JR山手線 渋谷駅" 21 android:background="#00000000" /> 22 </LinearLayout> 23 <LinearLayout 24 android:layout_width="match_parent" 25 android:layout_height="wrap_content" 26 android:orientation="horizontal" 27 android:background="@drawable/border_bottom"> 28 <TextView 29 android:layout_width="90dp" 30 android:layout_height="wrap_content" 31 android:text="@string/outlet_num_text" 32 android:textColor="@color/colorPrimary" 33 android:layout_marginTop="20dp" 34 android:layout_marginBottom="20dp" /> 35 <EditText 36 android:layout_width="wrap_content" 37 android:layout_height="wrap_content" 38 android:id="@+id/outlet_num_text" 39 android:inputType="number" 40 android:textSize="16dp" 41 android:textColor="#333" 42 android:layout_gravity="center_vertical" 43 android:minWidth="50dp" 44 android:gravity="right" 45 android:background="#00000000" /> 46 <TextView 47 android:layout_width="wrap_content" 48 android:layout_height="wrap_content" 49 android:text="個" 50 android:layout_marginTop="20dp" 51 android:layout_marginBottom="20dp" /> 52 </LinearLayout>
idが「station_text」からidが「outlet_num_text」への移動ができません。
上記のJavaコードと同じ処理をおこなうと、
「outlet_num_text」を越えて、その次のEditTextへFocusしてしまっております。
他に「station_text」のEditTextに「android:nextFocusDown="@+id/outlet_num_text"」を設定してもFocus位置は動きませんでした。(次のEditTextへも移動しません。)
いろいろな記事を参考に
java
1editText2.requestFocus(View.FOCUS_UP); 2editText2.setSelection(0);
も試してみましたが、「outlet_num_text」を越えて、その次のEditTextへFocusしてしまいます。
何卒、原因と解決方法をご教授御願い致します。
<補足>
idが「outlet_num_text」のinputTypeのnumberを消せば問題なくFocusがつきました。
inputTypeの指定が問題なようですが、
数値で入力されるようにしたいのでinputTypeは指定したいです。
こういった問題が起こっている事例が見つからず困っております。
お力添えのほど宜しく御願い致します。
あなたの回答
tips
プレビュー