我有一个简单的程序,它有一个TextField。
在TextField上我添加了一个addDataChangedListener。
使用模拟器,每次按下键时都会调用addDataChangedListener。但是,一旦安装在Android设备上,此功能就会停止。
由于
答案 0 :(得分:1)
将您的代码与此进行比较。这适用于Android和iOS
findTaCount(f).addDataChangedListener(new DataChangedListener() {
public void dataChanged(int type, int index) {
//do your action/validations
}
});
其中findTaCount是我的文本域。
请记住添加f(虽然可选但很好)
祝你好运!更新: 我在beforeXXForm()方法中添加了它。
答案 1 :(得分:0)
我发现问题是(可能)是Codename One无法识别Enter键(键码13)
form.addKeyListener(48, (ActionListener) (ActionEvent evt) -> {
System.out.println("0");
});
form.addKeyListener(13, (ActionListener) (ActionEvent evt) -> {
System.out.println("Enter");
});
按0输出“0”,但按Enter键不执行任何操作...
当您按Enter键时,模拟器刷新页面,因此给出了textField接受Enter输入的错觉。