Ich weiß, dies ist ein alter Beitrag, aber ich hatte das gleiche Problem. Für mich war die Argumentation, dass ich die Tastatur aus dem Weg räumen möchte (ablehnen), um mich zu orientieren (oder Knöpfe drücken, um Datenreihen hinzuzufügen oder zu entfernen) und wenn ich den EditText, den ich zuvor bearbeitet hatte, wieder anfasste, Es war nervig, wenn die Tastatur wieder aufsprang und der Text wieder aufgehoben wurde, sodass ich entweder den Cursor zum gewünschten Löschort bewegen oder einen anderen EditText berühren und dann das Original wieder anfassen musste, um alles neu auszuwählen . Ich möchte nur die Tastatur Pop-up und den Text ausgewählt haben und bereit zu überschreiben, wenn ich zu diesem EditText gehe.
Es gibt einfache Lösungen dafür:
1) Lange tippen dies bei den meisten Gelegenheiten für Sie tut. Wenn
2) sind Sie bereits setSelectAllOnFocus(true)
verwenden, können Sie nur eine einfache clearFocus()
und requestFocus()
in Ihrem onClick Zuhörer werfen:
etMyEditText.setSelectAllOnFocus(true);
etMyEditText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
view.clearFocus();
view.requestFocus();
}
});
Auf diese Weise der EditText alles ausgewählt hat, wenn Sie darauf tippen, unabhängig davon, weicher Tastaturstatus
Weiterer Pluspunkt: hinzufügen android:windowSoftInputMode="adjustPan"
in Ihrem <activity .../>
Tag in Ihrer AndroidManifest.xml Datei die ausgewählte EditText zu zwingen, in Sicht zu bleiben, wenn die Soft-Tastatur erscheint.
Das ist völlig normal. Andernfalls kann der Benutzer die Auswahl nicht löschen. – CommonsWare
Haben Sie selectAllOnFocus über Java-Code in einem onclick-Event versucht? – AJcodez
was erwartest du * sollte * passieren? Durch Ihre Logik wird die Auswahl niemals verschwinden, sobald der Benutzer darauf geklickt hat. ist das wirklich was du willst? –