Страницы

Поиск по вопросам

вторник, 13 ноября 2018 г.

Как реализовать в Edittext ввод символов справа налево

Есть поле Edittext, в которое пользователь должен ввести ответ, но при этом первый введенный символ должен быть правее, чем второй. Т.е. если пользователь последовательно вводит 123, то в итоге в Edittext отобразится 321. Можно ли как-то это реализовать используя 1 поле Edittext?


Ответ

Суть идеи, насколько я поняла, только в том, чтобы правильно перемещать курсор в поле editText, а именно так, чтобы после первого введенного символа курсор становился перед ним (т.е. слева).
Для этого нужно написать как-то так:
public class MainActivity extends AppCompatActivity implements TextWatcher{ EditText editText;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
editText = (EditText) findViewById(R.id.editText); editText.addTextChangedListener(this);
@Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { }
@Override public void onTextChanged(CharSequence s, int start, int before, int count) { editText.setSelection(0); }
@Override public void afterTextChanged(Editable s) { } }
Ну и в layout для editText соответственно указать свойство gravity right, чтобы все отвечало логике ввода текста справа-налево.

Комментариев нет:

Отправить комментарий