0

我正在编写一个应用程序,该应用程序具有要求用户在 PopupScreen 上的 BasicEditField 中键入文件名的功能。该应用程序适用于 Blackberry Storm 2——模拟器和真实设备。

问题是该应用程序无法在 BlackBerry Torch 上运行——无论是模拟器还是设备。我无法在 BasicEditField 中输入文本。

为什么 BlackBerry Torch 上的键盘不能与 BasicEditField 配合使用?我也尝试过 EditField 而不是 BasicEditField 但它也不起作用。

private BasicEditField txtFileName = 
    new BasicEditField("Name: ", "", 50, EditField.EDITABLE | EditField.FILTER_FILENAME);
...
Constructor()  
{  
    add(txtFileName);  
}
4

2 回答 2

1

好的,我犯的错误是为keyChar方法输入了错误的返回值。
我把
return true;
在方法的最后,
应该是
return super.keyChar(key,status,time);
下面是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
}
于 2010-10-29T03:03:02.183 回答
0

这不是您问题的答案,但我有一个可能有帮助的代码片段。我尝试使用以下代码重现您上面描述的内容。它没有问题地工作:

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);
    }
}

抱歉,我无法直接回答您的问题,但希望上面的代码可以帮助您找出应用中的问题。

于 2010-10-28T17:52:02.613 回答