Перечислите значение в Blackberry - PullRequest
0 голосов
/ 17 ноября 2010

Я разрабатываю приложение, в котором я передаю значения перечисления кнопкам, которые находятся на рабочем столе. У меня есть четыре кнопки на рабочем столе, и при нажатии должен появиться экран, специфичный для кнопки.

Для этого я должен сверяться со значениями перечисления - и поскольку перечисление не поддерживается в java-me, я имею их в качестве конечных статических констант int. На рабочем столе я использовал FieldChangeListener для реализации кнопок. Реализация кнопок со значениями перечисления находится в другом классе. Как проверить значения с помощью соответствующих кнопок?

Ответы [ 3 ]

1 голос
/ 19 ноября 2010

Вы можете имитировать перечисления в JavaME, используя «шаблон безопасного типа перечисления», предложенный Джошуа Блохом в его книге «Руководство по языку эффективного программирования Java».

Пример:

public class ButtonEnum
{

  public static final ButtonEnum TEST = new ButtonEnum("test");
  public static final ButtonEnum HOME = new ButtonEnum("home");
  public static final ButtonEnum EXIT = new ButtonEnum("exit");
  public static final ButtonEnum VIEW2 = new ButtonEnum("view");

  private final String name;

  private ButtonEnum(String name) {
    this.name = name;
  }

  public String toString() {
    return name;
  }
}
0 голосов
/ 18 ноября 2010

Другим способом решения вашей проблемы может быть использование метода .setChangeListener () в ButtonField .У каждой кнопки будет уникальный слушатель.Кроме того, есть enum construct в JRE ежевики.Вы должны использовать int константы.

Код:

button.setChangeListener(new FieldChangeListener() {
      public void fieldChanged(Field field, int context) {
            // push screen 1...
      }
}});
0 голосов
/ 17 ноября 2010

Field.setCookie (Object) и Field.getCookie () должны сделать свое дело.

Используйте java.lang.Integer, чтобы превратить ваши примитивы в объекты.

EDIT

Слушатель смены поля получает поле. Вызовите getCookie () для этого поля, и тогда вы сможете выяснить это, потому что, когда вы настраивали кнопки, вы вызывали setCookie () с соответствующим объектом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...