将数据输入BasicEditField对黑莓Torch
-
27-09-2019 - |
题
我正在写具有功能要求用户输入文件名进入在PopupScreen一个BasicEditField的应用程序。该应用程序正常工作与黑莓风暴2 - 两个模拟器和真实设备
的问题是,应用程序不在BlackBerry火炬工作 - 既不是模拟器,也不的装置。我不能文本输入到BasicEditField。
为什么没有在键盘上用BasicEditField黑莓Torch工作?我也尝试过的EditField中,而不是BasicEditField但它并不能工作。
private BasicEditField txtFileName =
new BasicEditField("Name: ", "", 50, EditField.EDITABLE | EditField.FILTER_FILENAME);
...
Constructor()
{
add(txtFileName);
}
解决方案
OK,我所犯的错误是把错误的返回值的 keyChar 方式。结果 我把结果 的返回true; 强>结果 在该方法结束时,结果 这应该是结果 的返回super.keyChar(密钥,状态,时间); 强>结果 下面是在 keyChar 方式正确执行:
public boolean keyChar(char key, int status, int time)
{
..................
/*
return true; // user cannot type in the BasicField on Torch, but can type on Storm
*/
return super.keyChar(key,status,time);// works on both Torch and Storm
}
其他提示
这是不是一个回答你的问题,但我有一个代码段可能的帮助。我试着重现你的描述上面使用下面的代码是什么。它的工作没有问题:
private static class AppScreen extends PopupScreen
{
AppScreen() {
super(new VerticalFieldManager(), Field.FOCUSABLE);
BasicEditField txtFileName = new BasicEditField("Name: ", "", 50,
EditField.EDITABLE | EditField.FILTER_FILENAME);
add(txtFileName);
}
}
对不起,我没有直接回答你的问题,但希望上面的代码可以帮助你在你的应用程序跟踪问题。
不隶属于 StackOverflow