在BlackBerry Torch上将数据输入BasicEditField

时间:2010-10-28 16:09:41

标签: blackberry keyboard blackberry-torch

我正在编写一个应用程序,它具有一个函数,要求用户在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);  
}

2 个答案:

答案 0 :(得分:1)

好的,我犯的错误是为 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
}

答案 1 :(得分: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);
    }
}

抱歉,我对您的问题没有直接的答案,但希望以上代码可以帮助您在应用中找到问题。