Mam 7 pól edittext w moim xml. Używam OnFocusChangeListener do odczytu wartości z edittext i używam tej wartości dla mojego obliczenia. Chcę, aby mój edittext stracić skupienie, gdy klikam na gotowy przycisk w miękkiej klawiaturze.Także mogę uzyskać wartość w edytorze tekstu.Jak utracić ostrość edytora tekstu po naciśnięciu przycisku "done" na klawiaturze programowej?
17
A
Odpowiedz
48
Zadzwoń pod numer clearFocus
, używając metody, aby utracić fokus po kliknięciu przycisku z miękkiej klawiatury. czy to jako:
editText.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if(actionId==EditorInfo.IME_ACTION_DONE){
//Clear focus here from edittext
editText.clearFocus();
}
return false;
}
});
a także dodać android:imeOptions="actionDone"
w EditText xml
Thank u imran.i Spróbuję to .. – SSS
Próbowałem tego i pracował dla mnie ... dziękuję .. – SSS
clearFocus może nie działać, jeśli nie ma innego możliwego do ogniskowania widoku lub jeśli ten sam widok jest pierwszym z góry, który może skupić uwagę. Notatki z dokumentu: ** _ Gdy widok zwróci ostrość, struktura próbuje skupić się na pierwszym, możliwym do ustawienia widoku od góry. Dlatego jeśli ten widok jest pierwszym od góry, który może skupić uwagę, wówczas wszystkie wywołania zwrotne związane z czyszczeniem będą wywoływane, po czym framework pokaże ten widok ._ ** –