Ich habe einen EditText mit einem Dummy-Text. Wenn der Benutzer darauf klickt, möchte ich, dass es ausgewählt wird, damit der Dummy-Text gelöscht wird, wenn der Benutzer mit der Eingabe beginnt.
Wie kann ich das erreichen?
android
android-edittext
Galip
quelle
quelle
Dies funktioniert, wenn Sie es programmgesteuert ausführen möchten.
quelle
Fragments
).editText.requestFocus()
Problem imeditText.clearFocus()
Voraus, um sicherzustellen, dass die gewünschte Aktion in dem Fall erfolgt, in dem die Ansicht bereits fokussiert istquelle
OnFocusChangeListener listener = new OnFocusChangeListener
... etc ... danneditText1.setOnFocusChangeListener(listener)
editText2.setOnFocusChangeListener(listener)
und so weiter ...Ich weiß, dass Sie eine Lösung gefunden haben, aber der richtige Weg, um das zu tun, was Sie verlangen, besteht darin, einfach das
android:hint
Attribut in Ihrem EditText zu verwenden. Dieser Text wird angezeigt, wenn das Feld leer und nicht fokussiert ist, verschwindet jedoch bei Auswahl des Felds EditText.quelle
Verwaltet durch Aufrufen von Fokus und Auswahl des Programms
quelle
Warum versuchst du nicht android: tip = "Hinweis" , um dem Benutzer den Hinweis zu geben?
Der "Hinweis" verschwindet automatisch, wenn der Benutzer auf die Edittextbox klickt. Es ist die richtige und beste Lösung.
quelle
Sie können dem editText danach auch eine OnClick-Methode hinzufügen
und darin:
Sobald Sie auf den editText klicken, wird der gesamte Text ausgewählt.
quelle
SelectAllOnFocus funktioniert beim ersten Fokussieren des EditText. Wenn Sie den Text jedoch jedes Mal auswählen möchten, wenn der Benutzer darauf klickt, müssen Sie
editText.clearFocus()
zwischenzeitlich aufrufen .Wenn Ihre App beispielsweise über einen EditText und eine Schaltfläche verfügt, bleibt der Fokus im EditText, wenn Sie nach dem Ändern des EditText auf die Schaltfläche klicken. Dann muss der Benutzer den Cursorgriff und die Rücktaste verwenden, um die Inhalte im EditText zu löschen, bevor er einen neuen Wert eingeben kann. Rufen Sie also
editText.clearFocus()
die Button-onClick
Methode auf.quelle
Ich habe eine obige Antwort versucht und habe nicht funktioniert, bis ich die Anweisungen geändert habe. Das hat bei mir funktioniert:
Ich musste fragen, ob der Fokus auf dem EditText liegt, und wenn nicht, zuerst den Fokus anfordern und ihn dann löschen. Andernfalls würde die virtuelle Tastatur beim nächsten Klicken auf den EditText nie angezeigt
quelle
Fügen Sie dies einfach Ihrem editText in der XML-Datei hinzu
quelle
Das funktioniert bei mir:
quelle