Chcę zastąpić przycisk Wstecz, gdy wyświetlana jest klawiatura ekranowa. Zasadniczo po naciśnięciu przycisku Wstecz chcę, aby klawiatura się odrzuciła i chcę dołączyć tekst do tego, co użytkownik wpisał w tym polu tekstowym. Zasadniczo muszę wiedzieć, kiedy klawiatura zostanie odrzucona. Po przeszukiwaniu zdałem sobie sprawę, że nie ma w tym interfejsu API i jedynym sposobem na zrobienie tego byłoby stworzenie twojej klasy EditText.Niestandardowy przycisk edycji tekstu i przycisk Wstecz w Androidzie
Więc tworzę własną klasę EditText i rozszerzony EditText jak ten
public class CustomEditText extends EditText
{
public CustomEditText(Context context)
{
super(context);
init();
}
public CustomEditText(Context context, AttributeSet attrs)
{
super(context, attrs);
init();
}
public CustomEditText(Context context, AttributeSet attrs, int defStyle)
{
super(context, attrs, defStyle);
init();
}
private void init()
{
}
}
Dodałem także tę metodę
@Override
public boolean dispatchKeyEventPreIme(KeyEvent event)
{
if (KeyEvent.KEYCODE_BACK == event.getKeyCode())
{
Log.v("", "Back Pressed");
//Want to call this method which will append text
//init();
}
return super.dispatchKeyEventPreIme(event);
}
Teraz ta metoda nie zastąpi przycisk Wstecz, zamyka klawiaturę, ale nie wiem, jak przekazać tekst do pola EditText. Czy ktoś wie, jak bym to zrobił?
Kolejne szybkie pytanie, czy ktoś wie, dlaczego ta metoda nazywa się dwa razy? Jak widać na razie dodałem szybką wiadomość logcat, aby przetestować, że działa, ale kiedy kliknę przycisk "Wstecz", drukuje dwa razy, z jakiegokolwiek powodu, który by to zrobił?
Każda pomoc będzie bardzo ceniona !!
Ach, głupiutki, powinienem to sobie uświadomić. Ale w odniesieniu do mojego drugiego pytania. Czy wiesz, jak przekazać tekst do pola EditText, gdy klawiatura zostanie odrzucona? – AdamM
sprawdź edycję. – nandeesh
Taki prosty fix. Dziękuję bardzo, działa idealnie !!! – AdamM