Я создаю метод ввода на Android, и я хочу реализовать длинный ключ возврата назад для удаления символа один за другим без релиза (я думаю, что поведение по умолчанию - это нажатие на обратное пространство после того, как его удалил один символ).Как работает мягкая клавиатура с обратным пространством?
Мое текущее решение «переопределяет» функцию «onLongPress» в моем подклассе «KeyboardView» и вызывает постоянное удаление, чтобы отправить действие удаления в представление, когда было нажато длинное нажатие с кодом «KEYCODE_DELETE» , Как мои коды ниже:
@Override
protected boolean onLongPress(Key key) {
if (key.codes[0] == Keyboard.KEYCODE_DELETE) {
final Handler h = new Handler();
final int delay = 500;
h.postDelayed(new Runnable() {
public void run() {
h.postDelayed(this, delay);
getOnKeyboardActionListener().onKey(Keyboard.KEYCODE_DELETE, null);
}
}, delay);
return true;
} else {
return super.onLongPress(key);
}
}
Итак, мой вопрос: «Как его остановить?» как отслеживать выпуск долгого нажатия клавиши возврата? Или есть способ сделать длинный пресс, чтобы удалить это?
Вы правы, спасибо! Я не понял, что основные знания ... – Jason
После многих поисков я нашел свое решение, спасибо большое. это то, что мне нужно. – Dharmishtha