Ввод данных в BasicEditField на BlackBerry Torch

Я пишу приложение, в котором есть функция, предлагающая пользователям вводить имя файла в BasicEditField на PopupScreen. Приложение отлично работает с 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);  
}

person Tuyen Nguyen    schedule 28.10.2010    source источник


Ответы (2)


Хорошо, я сделал ошибку, поместив неправильное возвращаемое значение для метода keyChar.
Я поставил
return true;
в конце метод,
который должен быть
return 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
}
person Tuyen Nguyen    schedule 29.10.2010

Это не ответ на вашу проблему, но у меня есть фрагмент кода, который может помочь. Я попытался воспроизвести то, что вы описали выше, используя следующий код. Он работал без проблем:

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

Извините, у меня нет прямого ответа на вашу проблему, но, надеюсь, приведенный выше код поможет вам отследить проблему в вашем приложении.

person Fostah    schedule 28.10.2010
comment
Спасибо, Фостах, за быстрый ответ! Я бы снова отследил свой код и доложил вам. Ваше здоровье !!! - person Tuyen Nguyen; 29.10.2010