У меня есть EditText с некоторым фиктивным текстом. Когда пользователь нажимает на нее, я хочу, чтобы она была выбрана так, что когда пользователь начинает вводить фиктивный текст, он будет удален.
Как я могу это достичь?
У меня есть EditText с некоторым фиктивным текстом. Когда пользователь нажимает на нее, я хочу, чтобы она была выбрана так, что когда пользователь начинает вводить фиктивный текст, он будет удален.
Как я могу это достичь?
Вы можете попробовать в файле main.xml
:
android:selectAllOnFocus="true"
editText.setSelectAllOnFocus(true);
Это работает, если вы хотите сделать это программно.
EditText dummy = ...
// android.view.View.OnFocusChangeListener
dummy.setOnFocusChangeListener(new OnFocusChangeListener(){
public void onFocusChange(View v, boolean hasFocus){
if (hasFocus) && (isDummyText())
((EditText)v).selectAll();
}
});
Я знаю, что вы нашли решение, но действительно правильный способ сделать то, что вы просите, - просто использовать атрибут android:hint
в вашем EditText. Этот текст появляется, когда поле пусто и не сфокусировано, но исчезает при выборе поля EditText.
Почему бы вам не попробовать андроид: hint = "hint" , чтобы дать подсказку пользователю.!!
"Подсказка" автоматически исчезнет, когда пользователь нажимает на edittextbox. его правильное и лучшее решение.
SelectAllOnFocus работает в первый раз, когда EditText получает фокус, но если вы хотите выбирать текст каждый раз, когда пользователь нажимает на него, вам нужно вызвать editText.clearFocus()
между моментами.
Например, если ваше приложение имеет один EditText и одну кнопку, нажатие кнопки после изменения EditText оставляет фокус в EditText. Затем пользователь должен использовать дескриптор курсора и клавишу backspace для удаления того, что в EditText, прежде чем они смогут ввести новое значение. Поэтому вызовите editText.clearFocus()
в методе Button onClick
.
Вы также можете добавить метод OnClick в editText после
_editText.setSelectAllOnFocus(true);
и тем, что:
_editText.clearFocus();
_editText.requestFocus();
Как только вы нажмете на editText, будет выбран весь текст.
Управлял им, вызывая фокус и выбор в программе
{
editabletext.requestFocus();
editabletext.selectAll();
}