Ввод данных в 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);  
}

2 ответа

Решение

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

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

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

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

Другие вопросы по тегам