#android #android-edittext
#Android #android-edittext
Вопрос:
Я хочу создать поле ввода PIN-кода, как показано на рисунке ниже.я использовал для этого четыре edittext, но моя проблема в том, что я не могу перемещать курсор с одного edittext на другой и наоборот.Пожалуйста, помогите мне в этом.
Комментарии:
1. Что вы подразумеваете под «перемещением курсора с одного edittext на другой»?
2. например, когда пользователь вводит один символ / число в редактируемом тексте, поэтому курсор должен перейти к следующему edittext.
Ответ №1:
Я думаю, что что-то подобное будет делать то, что вы хотите:
<LinearLayout
android:id="@ id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<EditText
android:id="@ id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" >
</EditText>
<EditText
android:id="@ id/editText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" >
</EditText>
<EditText
android:id="@ id/editText3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" >
</EditText>
<EditText
android:id="@ id/editText4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" >
</EditText>
Или вы хотите автоматически переходить от одного EditText к другому при заполнении?
Комментарии:
1. да, я хочу выполнить автоматический переход от одного edittext к другому после заполнения.
Ответ №2:
что значит, что вы не можете «перемещать курсор с одного edittext на другой и наоборот»??
Например, когда вы вводите один символ / число в редактируемом тексте, чтобы курсор перешел к следующему edittext?
Если это так, попробуйте GetFocus() с реализацией TextWatcher для EditText, у него есть обратный вызов, который вызывается после каждой введенной буквы.
Комментарии:
1. могу ли я использовать один и тот же textwatcher для всего edittext в этом случае, как я могу установить положение курсора?
2. TextWatcher знает, какой view / edittext вызвал его, поэтому просто получите view.getId() и создайте псевдоним кода с переменным регистром «if (id = 1) edittext2.getfocus(); if (id = 2) edittext3.getfocus(); и т.д.
3. np, если это не сработает, напишите это здесь, чтобы, возможно, кто-то другой сэкономил время, зная, что это не решение;-) С другой стороны, не забудьте отметить как лучший ответ, если он работает :))