私はアクション時に複数のEdittextを持っています。次にxmlにnextFocus値を追加しました。Edittext requestFocus()は動的に動作しません
ただし、1つの編集テキストは、年齢チェックボックスの値の状態に基づいて表示されるか、表示されません。だから私はそれをYYYY editextの後に焦点を当てる必要があります。 しかし、requestFocus()は動的に動作していません。私は18歳未満のチェックボックスがオフになっている場合にのみ、この電子メールのビューが表示されている次の
のクリック時に実行する必要があり何
。 YYYYののEditTextた後、次のボタンのクリックでhappends何
:コントロールがEDITTEXTをユーザ名に を行きます。私は、様々な解決策に言及しているが、何も
を作業していないされているXML
<ScrollView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/register" android:layout_marginLeft="@dimen/sign_up_left_right_margin" android:layout_marginRight="@dimen/sign_up_left_right_margin" android:layout_marginTop="@dimen/sign_up_user_name_top_margin"> <!--<RelativeLayout--> <!--android:layout_width="match_parent"--> <!--android:layout_height="wrap_content">--> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <LinearLayout android:id="@+id/name_container" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:weightSum="3"> <EditText android:id="@+id/firstname_ev" style="@style/RegisterViewStyle" android:hint=" FIRST NAME:" android:textCursorDrawable="@null" android:nextFocusForward="@+id/middle_ev" android:nextFocusRight="@+id/middle_ev" android:nextFocusDown="@+id/middle_ev" android:nextFocusLeft="@+id/middle_ev" android:nextFocusUp="@+id/middle_ev"/> <View android:layout_width="@dimen/sign_up_names_sep_width" android:layout_height="wrap_content"/> <EditText android:id="@+id/middle_ev" style="@style/RegisterViewStyle" android:hint=" MIDDLE INITIAL:" android:textCursorDrawable="@null" android:nextFocusForward="@+id/lastname_ev" android:nextFocusRight="@+id/lastname_ev" android:nextFocusDown="@+id/lastname_ev" android:nextFocusLeft="@+id/lastname_ev" android:nextFocusUp="@+id/lastname_ev"/> <View android:layout_width="@dimen/sign_up_names_sep_width" android:layout_height="wrap_content"/> <EditText android:id="@+id/lastname_ev" style="@style/RegisterViewStyle" android:hint=" LAST NAME:" android:textCursorDrawable="@null" android:nextFocusForward="@+id/dob_mm_et" android:nextFocusRight="@+id/dob_mm_et" android:nextFocusDown="@+id/dob_mm_et" android:nextFocusLeft="@+id/dob_mm_et" android:nextFocusUp="@+id/dob_mm_et" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <CheckBox android:id="@+id/under18_check_box" android:layout_width="wrap_content" android:layout_height="wrap_content" android:buttonTint="@color/raffle_blue_color" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/under18_tv" android:text="I'm under 18 and/or don't have an email?"/> </LinearLayout> <LinearLayout android:id="@+id/dob_parent_layout" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <!--android:weightSum="2"--> <LinearLayout style="@style/RegisterViewStyle2" android:id="@+id/dob_container" android:layout_width="0dp" android:layout_height="match_parent" android:layout_marginRight="2dp" android:layout_marginTop="@dimen/sign_up_field_sep_margin" android:layout_weight="1" android:orientation="horizontal"> <!--style="@style/RegisterViewStyle2"--> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="DOB:" android:textColor="@color/edit_text_hint_color" android:id="@+id/dob_label_tv" /> <!--<EditText--> <!--android:id="@+id/dob_dd_et"--> <!--android:layout_width="wrap_content"--> <!--android:layout_height="wrap_content"--> <!--android:background="@android:color/transparent"--> <!--android:hint="_ _"--> <!--android:textCursorDrawable="@null"--> <!--android:inputType="number"--> <!--android:maxLength="2"--> <!--android:nextFocusForward="@+id/dob_mm_et"--> <!--android:nextFocusRight="@+id/dob_mm_et"--> <!--android:nextFocusDown="@+id/dob_mm_et"--> <!--android:nextFocusLeft="@+id/dob_mm_et"--> <!--android:nextFocusUp="@+id/dob_mm_et"/>--> <EditText android:id="@+id/dob_mm_et" style="@style/RegisterViewStyle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@android:color/transparent" android:hint="MM" android:textCursorDrawable="@null" android:inputType="number" android:maxLength="2" android:nextFocusForward="@+id/dob_dd_et" android:nextFocusRight="@+id/dob_dd_et" android:nextFocusDown="@+id/dob_dd_et" android:nextFocusLeft="@+id/dob_dd_et" android:nextFocusUp="@+id/dob_dd_et"/> <TextView android:textColor="@color/edit_text_hint_color" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="/"/> <!--<EditText--> <!--android:id="@+id/dob_mm_et"--> <!--android:layout_width="wrap_content"--> <!--android:layout_height="wrap_content"--> <!--android:background="@android:color/transparent"--> <!--android:hint="_ _"--> <!--android:inputType="number"--> <!--android:textCursorDrawable="@null"--> <!--android:maxLength="2"--> <!--android:nextFocusForward="@+id/dob_yyyy_et"--> <!--android:nextFocusRight="@+id/dob_yyyy_et"--> <!--android:nextFocusDown="@+id/dob_yyyy_et"--> <!--android:nextFocusLeft="@+id/dob_yyyy_et"--> <!--android:nextFocusUp="@+id/dob_yyyy_et"/>--> <EditText android:id="@+id/dob_dd_et" style="@style/RegisterViewStyle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@android:color/transparent" android:hint="DD" android:inputType="number" android:textCursorDrawable="@null" android:maxLength="2" android:nextFocusForward="@+id/dob_yyyy_et" android:nextFocusRight="@+id/dob_yyyy_et" android:nextFocusDown="@+id/dob_yyyy_et" android:nextFocusLeft="@+id/dob_yyyy_et" android:nextFocusUp="@+id/dob_yyyy_et"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="/" android:textColor="@color/edit_text_hint_color"/> <EditText style="@style/RegisterViewStyle" android:id="@+id/dob_yyyy_et" android:layout_width="wrap_content" android:textCursorDrawable="@null" android:layout_height="wrap_content" android:background="@android:color/transparent" android:hint="YYYY" android:inputType="number" android:maxLength="4" /> <!--android:nextFocusForward="@+id/email_ev"--> <!--android:nextFocusRight="@+id/email_ev"--> <!--android:nextFocusDown="@+id/email_ev"--> <!--android:nextFocusLeft="@+id/email_ev"--> <!--android:nextFocusUp="@+id/email_ev"--> </LinearLayout> <EditText android:id="@+id/email_ev" style="@style/RegisterViewStyle" android:layout_width="0dp" android:layout_height="match_parent" android:layout_marginTop="@dimen/sign_up_field_sep_margin" android:layout_weight="1" android:hint=" EMAIL:" android:textCursorDrawable="@null" /> <!--android:nextFocusForward="@+id/password_reg_ev"--> <!--android:nextFocusRight="@+id/password_reg_ev"--> <!--android:nextFocusDown="@+id/password_reg_ev"--> <!--android:nextFocusLeft="@+id/password_reg_ev"--> <!--android:nextFocusUp="@+id/password_reg_ev"--> <!--style="@style/RegisterViewStyle2"--> <EditText android:id="@+id/username_reg_ev_dob_row" style="@style/RegisterViewStyle" android:layout_width="0dp" android:layout_height="match_parent" android:layout_marginTop="@dimen/sign_up_field_sep_margin" android:layout_weight="1" android:hint=" USERNAME:" android:textCursorDrawable="@null" android:visibility="gone" android:nextFocusForward="@+id/password_reg_ev" android:nextFocusRight="@+id/password_reg_ev" android:nextFocusDown="@+id/password_reg_ev" android:nextFocusLeft="@+id/password_reg_ev" android:nextFocusUp="@+id/password_reg_ev"/> </LinearLayout> <EditText android:id="@+id/username_reg_ev" style="@style/RegisterViewStyle2" android:layout_below="@+id/email_ev" android:layout_marginTop="@dimen/sign_up_field_sep_margin" android:hint=" USERNAME:" android:textCursorDrawable="@null" android:nextFocusForward="@+id/password_reg_ev" android:nextFocusRight="@+id/password_reg_ev" android:nextFocusDown="@+id/password_reg_ev" android:nextFocusLeft="@+id/password_reg_ev" android:nextFocusUp="@+id/password_reg_ev"/> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <EditText android:id="@+id/password_reg_ev" style="@style/RegisterViewStyle2" android:layout_below="@+id/username_reg_ev" android:layout_marginTop="@dimen/sign_up_field_sep_margin" android:hint=" PASSWORD:" android:layout_marginRight="2dp" android:textCursorDrawable="@null" android:inputType="textPassword" android:nextFocusForward="@+id/confirm_password_reg_ev" android:nextFocusRight="@+id/confirm_password_reg_ev" android:nextFocusDown="@+id/confirm_password_reg_ev" android:nextFocusLeft="@+id/confirm_password_reg_ev" android:nextFocusUp="@+id/confirm_password_reg_ev"/> <EditText android:id="@+id/confirm_password_reg_ev" style="@style/RegisterViewStyle2" android:layout_below="@+id/password_reg_ev" android:layout_marginTop="@dimen/sign_up_field_sep_margin" android:hint=" CONFIRM PASSWORD:" android:textCursorDrawable="@null" android:inputType="textPassword" android:nextFocusForward="@+id/group_code_reg_ev" android:nextFocusRight="@+id/group_code_reg_ev" android:nextFocusDown="@+id/group_code_reg_ev" android:nextFocusLeft="@+id/group_code_reg_ev" android:nextFocusUp="@+id/group_code_reg_ev"/> </LinearLayout> <EditText android:id="@+id/group_code_reg_ev" style="@style/RegisterViewStyle2" android:layout_below="@+id/confirm_password_reg_ev" android:layout_marginTop="@dimen/sign_up_field_sep_margin" android:textCursorDrawable="@null" android:hint=" GROUP CODE(OPTIONAL):"/> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <CheckBox android:id="@+id/terms_conditions_signup_checkbox" android:layout_width="wrap_content" android:layout_height="wrap_content" android:buttonTint="@color/raffle_blue_color" /> <TextView android:id="@+id/terms_conditions_register_message" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/terms_conditions"/> </LinearLayout> <RelativeLayout android:id="@+id/register_btn_rl" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/registration_message" android:layout_marginBottom="6dp" android:layout_marginTop="@dimen/sign_up_btn_top_margin" android:background="@color/raffle_blue_color"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:id="@+id/register_tv" android:padding="6dp" android:text="REGISTER" android:textColor="@android:color/white" android:textSize="@dimen/sign_up_edit_text_size"/> </RelativeLayout> </LinearLayout> </ScrollView>
アプリがクラッシュしたとして、XMLで 電子メールのTextViewがなくなっているときは常に
dobYearEt.setOnEditorActionListener(new EditText.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
Log.i("focus","on yyyy");
if (actionId == EditorInfo.IME_ACTION_DONE ||
actionId == EditorInfo.IME_ACTION_NEXT) {
Log.i("focus",isUnderAge+"");
if(isUnderAge){
username_reg_ev_dob_row.setFocusableInTouchMode(true);
username_reg_ev_dob_row.requestFocus();
}else{
// NOTHING HAPPENS
// email_ev.setFocusableInTouchMode(true);
// dobYearEt.clearFocus();
email_ev.requestFocus();
// InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
// mgr.showSoftInput(email_ev, InputMethodManager.SHOW_IMPLICIT);
}
return false;
}
をFocusNextを使用するカントSet next EditText focused and editable on KEY_DOWN
EditText request focus not working
少し後で、私はハンドラが500ミリ秒後に言うことを意味します。 –
@JagjitSinghハンドラでは動作しません –