Android, как установить курсор EditText в конец его текста [дубликат]

Возможно, вы сможете сделать это с помощью xpath. что-то вроде //tr[contains(@class, 'row') and position() mod 2 = 0] может работать. Существуют другие вопросы SO, расширяющие подробности о том, как более точно сопоставлять классы.

29
задан Cœur 17 December 2017 в 08:46
поделиться

3 ответа

У вас есть два варианта, оба должны работать:

a)

editText.setText("Your text");
editText.setSelection(editText.getText().length());

b)

editText.setText("");    
editText.append("Your text");
106
ответ дан jenzz 17 December 2017 в 08:46
поделиться

В то время как jenzz anwser работает для простейшего случая. Это не так, если вы перемещаете курсор перед редактированием текста, потому что, как только вторая буква будет напечатана, она будет перемещена в конец EditText.

Предпочитаю использовать это решение:

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) 
            {
                ...
                int position = et_mobile.getSelectionStart();
                et_mobile.setText(f(s));
                et_mobile.setSelection(position);
                ...
            }
0
ответ дан Gomino 17 December 2017 в 08:46
поделиться
/**
 * Set pointer to end of text in edittext when user clicks Next on KeyBoard.
 */
View.OnFocusChangeListener onFocusChangeListener = new View.OnFocusChangeListener() {
    @Override
    public void onFocusChange(View view, boolean b) {
        if (b) {
            ((EditText) view).setSelection(((EditText) view).getText().length());
        }
    }
};

mEditFirstName.setOnFocusChangeListener(onFocusChangeListener);
mEditLastName.setOnFocusChangeListener(onFocusChangeListener);

Это хорошо для меня!

4
ответ дан Infinite Recursion 17 December 2017 в 08:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: