Відповіді:
Ви можете спробувати у своєму main.xml
файлі:
android:selectAllOnFocus="true"
Або в Java використовувати
editText.setSelectAllOnFocus(true);
editText.setSelectAllOnFocus(true);
Це працює, якщо ви хочете це робити програмно.
Fragments
).
editText.requestFocus()
питання, editText.clearFocus()
щоб переконатися, що потрібна дія відбувається у випадку, коли погляд уже зосереджений
EditText dummy = ...
// android.view.View.OnFocusChangeListener
dummy.setOnFocusChangeListener(new OnFocusChangeListener(){
public void onFocusChange(View v, boolean hasFocus){
if (hasFocus) && (isDummyText())
((EditText)v).selectAll();
}
});
OnFocusChangeListener listener = new OnFocusChangeListener
... тощо ... потім editText1.setOnFocusChangeListener(listener)
editText2.setOnFocusChangeListener(listener)
і так далі ...
Я знаю, що ви знайшли рішення, але насправді правильним способом зробити те, що ви просите, є просто використовувати android:hint
атрибут у вашому EditText. Цей текст з’являється, коли поле порожнє та не зосереджене, але зникає при виборі поля EditText.
Чому б не спробувати android: hint = "hint", щоб надати підказку користувачеві .. !!
"Підказка" автоматично зникне, коли користувач натисне на поле редагування. це правильне і найкраще рішення.
Ви також можете додати метод OnClick до editText після
_editText.setSelectAllOnFocus(true);
і в цьому:
_editText.clearFocus();
_editText.requestFocus();
Щойно ви натискаєте на редагуванняТексту, вибирається весь текст.
SelectAllOnFocus працює вперше, коли редактор редагує фокус, але якщо ви бажаєте вибирати текст щоразу, коли користувач натискає на нього, вам потрібно зателефонуватиeditText.clearFocus()
між часом.
Наприклад, якщо у вашому додатку є один EditText та одна кнопка, натискання кнопки після зміни EditText залишає фокус у EditText. Потім користувач повинен використовувати ручку курсору та клавішу зворотної області, щоб видалити те, що знаходиться в EditText, перш ніж вони зможуть ввести нове значення. Тож дзвонітьeditText.clearFocus()
в onClick
метод Кнопка .
Я спробував вищевказану відповідь і не спрацював, поки не переключив твердження. Це для мене працювало:
myEditText.setSelectAllOnFocus(true);
myEditText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
onClickMyEditText();
}
});
private void onClickMyEditText() {
if(myEditText.isFocused()){
myEditText.clearFocus();
myEditText.requestFocus();
}else{
myEditText.requestFocus();
myEditText.clearFocus();
}
}
Мені довелося запитати, чи фокус є на EditText, а якщо не спочатку запитувати фокус, а потім очистити його. Інакше наступного разу, коли я натиснув на EditText, віртуальна клавіатура ніколи не з’явиться
Просто додайте це до свого editText у файлі .xml
android: selectAllOnFocus = "вірно"
Це для мене працює:
myEditText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(myEditText.isFocused()){
myEditText.requestFocus();
myEditText.clearFocus();
myEditText.setSelection(myEditText.getText().length(), 0);
}else{
myEditText.requestFocus();
myEditText.clearFocus();
}
}
});