Respuestas:
Puedes probar en tu main.xml
archivo:
android:selectAllOnFocus="true"
O, en Java, use
editText.setSelectAllOnFocus(true);
editText.setSelectAllOnFocus(true);
Esto funciona si quieres hacerlo programáticamente.
Fragments
).
editText.requestFocus()
tema editText.clearFocus()
de antemano para asegurar una acción deseada se produce en el caso en que la vista está ya centrada
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
... etc ... editText1.setOnFocusChangeListener(listener)
editText2.setOnFocusChangeListener(listener)
y así sucesivamente ...
Sé que ha encontrado una solución, pero realmente la forma correcta de hacer lo que está pidiendo es usar el android:hint
atributo en su EditText. Este texto aparece cuando el cuadro está vacío y no está enfocado, pero desaparece al seleccionar el cuadro Editar texto.
¿Por qué no pruebas android: hint = "hint" para proporcionar la pista al usuario .. !!
La "pista" desaparecerá automáticamente cuando el usuario haga clic en el cuadro de texto de edición. Es la solución adecuada y mejor.
También puede agregar un Método OnClick al editText después
_editText.setSelectAllOnFocus(true);
y en eso:
_editText.clearFocus();
_editText.requestFocus();
Tan pronto como haga clic en editText, se seleccionará todo el texto.
SelectAllOnFocus funciona la primera vez que EditText obtiene el foco, pero si desea seleccionar el texto cada vez que el usuario hace clic en él, debe llamar editText.clearFocus()
entre horas.
Por ejemplo, si su aplicación tiene un EditText y un botón, hacer clic en el botón después de cambiar EditText deja el foco en EditText. Luego, el usuario tiene que usar el controlador del cursor y la tecla de retroceso para eliminar lo que está en EditText antes de poder ingresar un nuevo valor. Entonces llame editText.clearFocus()
al onClick
método del botón .
Intenté una respuesta anterior y no funcionó hasta que cambié las declaraciones. Esto es lo que funcionó para mí:
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();
}
}
Tuve que preguntar si el foco está en EditText y, si no, solicitar el foco primero y luego borrarlo. De lo contrario, las siguientes veces que haga clic en EditText, el teclado virtual nunca aparecerá
Simplemente agregue esto a su editText en el archivo .xml
android: selectAllOnFocus = "true"
Esto funciona para mí:
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();
}
}
});