Отправить клавишу Backspace событие для редактирования текста - PullRequest
15 голосов
/ 22 августа 2011

Я не знаю, как отправить событие клавиши возврата на EditText от моей собственной кнопки.Вот что я попробовал:

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

1 Ответ

37 голосов
/ 22 августа 2011

Из документов для разработчиков Android :

public KeyEvent (int action, int code)

Создать событие нового ключа.

Параметры действие Код действия: ACTION_DOWN, ACTION_UP или ACTION_MULTIPLE. код Код ключа

Первый параметр должен быть кодом действия.В вашем случае вы должны использовать ACTION_DOWN , потому что вы хотите симулировать нажатие клавиши:

public static final int ACTION_DOWN

getAction () значение: клавиша была нажата.

Так что это должно работать:

@Override
public void onClick(View v)
{
    text.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DEL));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...