【发布时间】:2016-09-04 16:44:35
【问题描述】:
我正在Android上创建输入法,我想实现长按退格键来一个一个地删除字符而不释放(我认为默认行为是一旦删除一个字符就按退格键)。
我当前的解决方案是“覆盖”我的“KeyboardView”子类中的“onLongPress”函数,并在触发带有代码“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);
}
}
所以,我的问题是“如何阻止它?”如何跟踪长按退格键的释放?或者有什么办法可以实现长按删除?
【问题讨论】:
标签: android android-softkeyboard ime long-press