#blackberry #button #screen #menuitem
#ежевика #кнопка #экран #menuitem
Вопрос:
У меня есть требование к наличию экранных кнопок навигации вместе с пунктами меню на blackberry. Мне нужно генерировать команды пунктов меню в виде экранных кнопок. Есть ли способ создать кнопки элементов экранного меню в Blackberry? т. е. на каждом экране моего приложения пункты меню должны быть заполнены как экранные кнопки, имеющие одинаковую функциональность?
Спасибо
Ответ №1:
Самый простой способ выполнить то, что вы пытаетесь сделать, — это написать одну функцию, после чего и кнопка, и пункт меню будут использовать одну и ту же функцию.
Например:
function doSomething() {
// Your Code Here
}
// In the function building your screen
MenuItem somethingMi = new MenuItem() {
private MenuItem() { super("Do Something",100001, 5); }
public void run() { doSomething() };
}
Button somethingBtn = new ButtonField("Do Something");
somethingBtn.setChangeListener(new FieldChangeListener() {
public void fieldChanged(Field field, int context){
doSomething();
}
}
addMenuItem(somethingMI);
add(somethingBtn);
Комментарии:
1. Спасибо, ребята, я делаю это так, как вы сказали. Но я ожидал какого-то способа автоматического заполнения пунктов меню в виде экранных кнопок, поскольку в моих приложениях используется множество динамически создаваемых экранов. Похоже, BB не в пользу экранных кнопок. Еще раз спасибо.
2. Я не понимаю, о чем вы просите. Почему я должен хотеть, чтобы элемент меню отображался на экране в виде кнопки, если я тщательно разрабатываю свой графический интерфейс? E Все, что после
// In the function
может быть разбито на части и обернуто в инструкции if, что упрощает выполнение более динамичным способом. Кстати, вы задаете свой вопрос, вы, должно быть, видели, как что-то еще делало это раньше, не могли бы вы привести мне пример?