2011-08-22 9 views
14

Nie wiem, jak wysłać zdarzenie z kluczem Backspace do EditText z mojego własnego przycisku. Oto, co starałem:Wysyłanie zdarzenia Backspace Key do edycji tekstu

Button backSpace=(Button)findViewById(R.id.backSpace_tab); 
backSpace.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 
     text.dispatchKeyEvent(new KeyEvent(KeyEvent.KEYCODE_DEL,KeyEvent.KEYCODE_P)); 
    } 
}); 

Odpowiedz

36

Z Android developer docs:

publicznego keyEvent (int działanie, int code)

Utwórz nowe wydarzenie kluczy.

Parametry
działanie kod akcji: albo ACTION_DOWN, ACTION_UP lub ACTION_MULTIPLE.
kod Kod klucz

Pierwszy parametr powinien być kod akcji. W twoim przypadku należy użyć ACTION_DOWN, ponieważ chcemy, aby symulować naciśnięcie:

public static int końcowego ACTION_DOWN

getAction() wartość: klawisz został wciśnięty.

Tak to powinno działać:

@Override 
public void onClick(View v) 
{ 
    text.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DEL)); 
} 
Powiązane problemy