Ввод данных в 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);
}
}
Извините, у меня нет прямого ответа на вашу проблему, но, надеюсь, приведенный выше код поможет вам отследить проблему в вашем приложении.