Risposte:
Puoi provare nel tuo main.xml
file:
android:selectAllOnFocus="true"
Oppure, in Java, utilizzare
editText.setSelectAllOnFocus(true);
editText.setSelectAllOnFocus(true);
Funziona se vuoi farlo programmaticamente.
Fragments
).
editText.requestFocus()
problema in editText.clearFocus()
anticipo per garantire che l'azione desiderata si verifichi nel caso in cui la vista sia già focalizzata
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
... ecc ... poi editText1.setOnFocusChangeListener(listener)
editText2.setOnFocusChangeListener(listener)
e così via ...
So che hai trovato una soluzione, ma davvero il modo corretto di fare quello che stai chiedendo è semplicemente usare l' android:hint
attributo nel tuo EditText. Questo testo viene visualizzato quando la casella è vuota e non focalizzata, ma scompare quando si seleziona la casella Modifica testo.
Perché non provi Android: hint = "hint" per fornire il suggerimento all'utente .. !!
Il "suggerimento" scompare automaticamente quando l'utente fa clic sulla casella edittext. è la soluzione corretta e migliore.
È inoltre possibile aggiungere un metodo OnClick al editText dopo
_editText.setSelectAllOnFocus(true);
e in quello:
_editText.clearFocus();
_editText.requestFocus();
Non appena si fa clic sul testo di modifica, viene selezionato l'intero testo.
SelectAllOnFocus funziona la prima volta che EditText viene attivato, ma se si desidera selezionare il testo ogni volta che l'utente fa clic su di esso, è necessario chiamareeditText.clearFocus()
tra una .
Ad esempio, se la tua app ha un EditText e un pulsante, facendo clic sul pulsante dopo aver modificato EditText lascia il focus in EditText. Quindi l'utente deve utilizzare la maniglia del cursore e il tasto backspace per eliminare ciò che è presente nel EditText prima di poter immettere un nuovo valore. Quindi chiama editText.clearFocus()
il onClick
metodo Button .
Ho provato una risposta sopra e non ha funzionato fino a quando non ho cambiato le dichiarazioni. Questo è ciò che ha funzionato per me:
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();
}
}
Ho dovuto chiedere se lo stato attivo è su EditText e, in caso contrario, richiedere lo stato attivo, quindi deselezionarlo. Altrimenti le successive volte che ho cliccato su EditText la tastiera virtuale non comparirà mai
Aggiungilo al tuo editText nel file .xml
Android: selectAllOnFocus = "true"
Questo funziona per me:
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();
}
}
});