Mam EditText z jakimś fikcyjnym tekstem. Gdy użytkownik go kliknie, chcę, aby został wybrany, aby po rozpoczęciu pisania tekst fikcyjny został usunięty.
Jak mogę to osiągnąć?
android
android-edittext
Galip
źródło
źródło
Działa to, jeśli chcesz to zrobić programowo.
źródło
Fragments
).editText.requestFocus()
problemeditText.clearFocus()
wcześniej, aby zapewnić pożądane działanie występuje w przypadku, gdy widok jest już koncentrujeźródło
OnFocusChangeListener listener = new OnFocusChangeListener
... etc ... wtedyeditText1.setOnFocusChangeListener(listener)
editText2.setOnFocusChangeListener(listener)
i tak dalej ...Wiem, że znalazłeś rozwiązanie, ale naprawdę właściwym sposobem na zrobienie tego, o co prosisz, jest po prostu użycie
android:hint
atrybutu w tekście EditText. Ten tekst pojawia się, gdy pole jest puste i nieostre, ale znika po wybraniu pola EditText.źródło
Zarządzałem nim, wywołując fokus i wybór programu
źródło
Dlaczego nie spróbujesz Androida: hint = "podpowiedź", aby przekazać podpowiedź użytkownikowi .. !!
„Wskazówka” zniknie automatycznie, gdy użytkownik kliknie edittextbox. jest to właściwe i najlepsze rozwiązanie.
źródło
Możesz także dodać metodę OnClick do editText później
i w tym:
Po kliknięciu przycisku editText zaznaczony jest cały tekst.
źródło
SelectAllOnFocus działa przy pierwszym ustawieniu fokusa EditText, ale jeśli chcesz zaznaczyć tekst za każdym razem, gdy użytkownik go kliknie, musisz zadzwonić
editText.clearFocus()
pomiędzy nimi.Na przykład, jeśli twoja aplikacja ma jeden EditText i jeden przycisk, kliknięcie tego przycisku po zmianie EditText pozostawia fokus w EditText. Następnie użytkownik musi użyć uchwytu kursora i klawisza Backspace, aby usunąć zawartość EditText, zanim będzie mógł wprowadzić nową wartość. Więc wywołaj metodę
editText.clearFocus()
przyciskuonClick
.źródło
Próbowałem powyższej odpowiedzi i nie działałem, dopóki nie zmieniłem instrukcji. Oto, co zadziałało dla mnie:
Musiałem zapytać, czy fokus jest ustawiony na EditText, a jeśli nie, najpierw poproś o fokus, a następnie go wyczyść. W przeciwnym razie następnym razem, gdy kliknę na EditText, wirtualna klawiatura nigdy się nie pojawi
źródło
Po prostu dodaj to do swojego editText w pliku .xml
źródło
To działa dla mnie:
źródło