Нажмите кнопку на ежевике - PullRequest
0 голосов
/ 15 апреля 2011

Как я могу нажать на поле кнопки, используя API BlackBerry?Я хотел бы имитировать нажатие кнопки, как если бы пользователь нажал ее.

Ответы [ 3 ]

3 голосов
/ 15 апреля 2011

Предположим, у вас есть этот код (взят из документа BB API):

FieldChangeListener listener = new FieldChangeListener() {
    public void fieldChanged(Field field, int context) {
        ButtonField buttonField = (ButtonField) field;
        System.out.println("Button pressed: " + buttonField.getLabel());
    }
};
ButtonField buttonField = new ButtonField("Test Button");
buttonField.setChangeListener(listener);

Затем вы можете программно смоделировать щелчок, вызвав метод fieldChangeNotify(int context) для buttonField.Обратите внимание, что вы можете отличить обычный / реальный клик от программного, отметив context в fieldChanged(Field field, int context).Это тот же контекст, который вы передаете в fieldChangeNotify(int context).

2 голосов
/ 15 апреля 2011

Используйте EventInjector.NavigationEvent как это:

EventInjector.invokeEvent(new EventInjector.NavigationEvent(EventInjector.Navig ationEvent.NAVIGATION_CLICK, 0, 0, 0));
0 голосов
/ 24 сентября 2012
 ButtonField buttonField = new ButtonField("Test Button" ,ButtonField.CONSUME_CLICK);
          buttonField.setChangeListener(new FieldChangeListener() 
          {
            public void fieldChanged(Field field, int context) 
            {
                Dialog.alert("Test Button Clicked");

            }
        });
...