0

我试图让删除键删除字符,如典型的退格键。MyEditField 是 EditField 的子类,常用的 EditField 包含三个方法,protected int backspace( int count, int context )public int backspace( int count )protected boolean backspace()

MyEditField 在实例化时设置为 FILTER_REAL_NUMERIC,我已经尝试使用上述所有方法来使删除键起作用。是否有必要覆盖退格函数才能开始工作,还是我必须编写一个自定义算法来获取删除键以删除字符串末尾的字符?

我已阅读文档,但我找不到任何关于退格功能何时起作用以及何时不起作用的提及。另外,我知道系统(又名模拟器)正在注册删除按键,因为我可以将按键代码打印到控制台。

我正在尝试获得比通过 BB 菜单清除整个字段更用户友好的东西。

4

1 回答 1

2

是否有必要覆盖退格功能才能开始工作

不,不是。只需抓住关键事件并调用backspace(). 喜欢:

protected boolean keyChar(char key, int status, int time) {
    if (key == Characters.DELETE) {
        backspace();
        return true;
    }
    return super.keyChar(key, status, time);
}
于 2011-04-13T18:06:12.500 回答