Выберите весь текст внутри EditText, когда он получит фокус

У меня есть EditText с некоторым фиктивным текстом. Когда пользователь нажимает на нее, я хочу, чтобы она была выбрана так, что когда пользователь начинает вводить фиктивный текст, он будет удален.

Как я могу это достичь?

Ответ 1

Вы можете попробовать в файле main.xml:

android:selectAllOnFocus="true"

Ответ 2

editText.setSelectAllOnFocus(true);

Это работает, если вы хотите сделать это программно.

Ответ 3

EditText dummy = ... 

// android.view.View.OnFocusChangeListener
dummy.setOnFocusChangeListener(new OnFocusChangeListener(){
    public void onFocusChange(View v, boolean hasFocus){
        if (hasFocus) && (isDummyText())
            ((EditText)v).selectAll();
    }
});

Ответ 4

Я знаю, что вы нашли решение, но действительно правильный способ сделать то, что вы просите, - просто использовать атрибут android:hint в вашем EditText. Этот текст появляется, когда поле пусто и не сфокусировано, но исчезает при выборе поля EditText.

Ответ 5

Почему бы вам не попробовать андроид: hint = "hint" , чтобы дать подсказку пользователю.!!

"Подсказка" автоматически исчезнет, ​​когда пользователь нажимает на edittextbox. его правильное и лучшее решение.

Ответ 6

SelectAllOnFocus работает в первый раз, когда EditText получает фокус, но если вы хотите выбирать текст каждый раз, когда пользователь нажимает на него, вам нужно вызвать editText.clearFocus() между моментами.

Например, если ваше приложение имеет один EditText и одну кнопку, нажатие кнопки после изменения EditText оставляет фокус в EditText. Затем пользователь должен использовать дескриптор курсора и клавишу backspace для удаления того, что в EditText, прежде чем они смогут ввести новое значение. Поэтому вызовите editText.clearFocus() в методе Button onClick.

Ответ 7

Вы также можете добавить метод OnClick в editText после

_editText.setSelectAllOnFocus(true);

и тем, что:

_editText.clearFocus();
_editText.requestFocus();

Как только вы нажмете на editText, будет выбран весь текст.

Ответ 8

Управлял им, вызывая фокус и выбор в программе

{
editabletext.requestFocus();
editabletext.selectAll();
}