Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Send backspace key event to edit text

I don't know how to send a backspace key event to a EditText from my own button. Here is what i tried:

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));
    }
});
like image 772
user739509 Avatar asked Aug 22 '11 09:08

user739509


1 Answers

From the Android developer docs:

public KeyEvent (int action, int code)

Create a new key event.

Parameters
action Action code: either ACTION_DOWN, ACTION_UP, or ACTION_MULTIPLE.
code The key code

The first parameter should be an action code. In your case you should use ACTION_DOWN, because you want to simulate a keypress:

public static final int ACTION_DOWN

getAction() value: the key has been pressed down.

So this should work:

@Override
public void onClick(View v)
{
    text.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DEL));
}
like image 199
Jacob Ras Avatar answered Nov 05 '22 13:11

Jacob Ras