2011-08-22 28 views
14

No sé cómo enviar un evento de tecla de retroceso a un EditText desde mi propio botón. Aquí es lo que he intentado:Enviar evento de tecla de retroceso para editar texto

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)); 
    } 
}); 

Respuesta

36

Desde el Android developer docs:

pública KeyEvent (acción int, int código)

Crear un nuevo evento clave.

Parámetros
acción Código de la acción: ya sea ACTION_DOWN, ACTION_UP o ACTION_MULTIPLE.
código El código de la llave

El primer parámetro debe ser un código de acción. En su caso se debe utilizar ACTION_DOWN, debido a que desea simular una pulsación de tecla:

público static final int ACTION_DOWN

getAction() Valor: la tecla ha sido presionada hacia abajo.

Así que esto debería funcionar:

@Override 
public void onClick(View v) 
{ 
    text.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DEL)); 
} 
Cuestiones relacionadas