Я пытаюсь реализовать экран регистрации, где у меня есть два ediTexts
внутри двух TextInputLayouts
(один для электронной почты и один для пароля). Однако для электронной почты я хочу иметь постоянный текст для домена. Есть ли способ, чтобы текст оставался в конце editText или каким-либо лучшим предложением? Электронная почта здесь - подсказка, я хочу, чтобы пользователь мог вводить только в начале, а остальная константа оставалась @ example.com.Как добавить постоянный неотредактированный текст в конце editText android?
ответ
Так вот обновленное решение.
emailEditText.setText("@gmail.com");
emailEditText.setSelection(0);
emailEditText.requestFocus();
emailEditText.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event)
{
switch (event.getAction()) {
case MotionEvent.ACTION_MOVE:
Layout layout = ((EditText) v).getLayout();
float x = event.getX() + emailEditText.getScrollX();
offset = layout.getOffsetForHorizontal(0, x);
maxOffset = emailEditText.getText().toString().indexOf("@");
break;
case MotionEvent.ACTION_UP:
if(offset > maxOffset && maxOffset >= 0) {
emailEditText.setSelection(maxOffset);
}
else if (offset >= 0) {
emailEditText.setSelection(offset);
}
event.setAction(MotionEvent.ACTION_CANCEL);
showSoftKeyBoard(emailEditText);
}
return false;
}
});
public void showSoftKeyBoard(View focusedView) {
if(getCurrentFocus() != null) {
((InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE))
.showSoftInput(focusedView, InputMethodManager.SHOW_IMPLICIT);
}
}
Наконец Дисклеймер ... Вы можете двигаться вокруг курсора, но нет держателя, что вы обычно видите в нижней части курсора.
Вы можете использовать эту библиотеку, я работал
Вы можете попробовать один из них:
1) В горизонтальном LinearLayout, положить textInputLayout (ширина = wrap_content) и textView (width = 0dp & weight = 1), содержащий имя домена. Всякий раз, когда адрес электронной почты получает фокус, покажите, что текстовое окно скрывает его.
2) Добавить наблюдателя текста к edittext и onAfterTextChanged метод добавить доменное имя в строку. Здесь вы должны проверить, заканчивается ли строка edittext с именем домена или нет ... Если нет, то добавьте только имя домена, а не добавьте его. Лично это не изящное решение, поскольку курсор не будет в ожидаемой позиции после изменения текста.
спасибо
ладно спасибо, я попробую ваше первое предложение в ближайшее время. Что касается второго, я ограничиваю количество символов в ditText количеством символов электронной почты перед доменом, так как я уже знаю, что (5 в моем случае), как вы думаете, что облегчит использование textWatcher? – riadrifai
Ну, если вы установите лимит на количество символов в editText на 5. Тогда, как вы думаете, ваше доменное имя будет видимым в нем? – manojs001
Предел находится на вставленном тексте от пользователя, то есть я позволяю ему вводить только 5 символов. Не связано с visibilty – riadrifai
- 1. Как добавить постоянный текст в поле editText?
- 2. Можем ли мы иметь неотредактированный текст в edittext
- 3. Как добавить текст в edittext в android?
- 4. Поместить постоянный текст перед EditText и TextView
- 5. Как добавить текст в EditText?
- 6. нередактируемого текст в конце EditText в андроиде
- 7. редактировать текст на постоянный
- 8. Добавить текст в конце valueForKey
- 9. Добавить текст в начале edittext
- 10. Как добавить тысячу разделителей в android EditText .........?
- 11. Android edittext с неотредактируемой строкой в конце
- 12. Android save Текст EditText
- 13. Неверный текст в EditText android
- 14. Как установить курсор в конце в EditText
- 15. Как показать параметры меню в конце EditText
- 16. Вставить текст в EditText Android
- 17. Android - Как поместить текст backgroud в EditText?
- 18. Android: Как изменить текст в поле EditText?
- 19. Как получить текст из edittext в android?
- 20. Как сделать текст в EditText вертикально (Android)
- 21. EditText - Как установить текст по умолчанию в android edittext
- 22. Как добавить текст в оставшийся текст в android
- 23. Как добавить двоеточие в EditText в Android
- 24. Как добавить pagelines в EditText в android?
- 25. Как добавить значок в EditText в Android?
- 26. добавить текст в конце каждой строки
- 27. Текст и текст подсказки Android EditText
- 28. Добавить текст в конце определенных строк
- 29. Android getText текст из EditText?
- 30. Android EditText текст не центрирован
Я исследовал, но я не смог сохранить текст в конце. – riadrifai
@riadrifai My bad! Я неправильно прочитал ваш вопрос, и через некоторое время я обновлю свой ответ. – Abbas
хорошо, спасибо – riadrifai