Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java ME (J2ME) > Класс List и как определить какой элемент выбран


Автор: javastic 30.3.2005, 15:45
делаем экземпляр:
Код

List myList = null;


есть к нему набор строк:
Код

String[] lst = {"One","Two",Three"};


Создаём список:
Код

myList = new List("My list:", List.IMPLICIT, lst, null);  


Задаём обработчика:
Код

myList.setCommandListener(this);


отображаем:
Код

display.setCurrent(myList);


Далее навигация по списку и выбор нужного элемента.

В обработчике как пологается:
Код

 public void commandAction(Command c,Displayable d)
 {
  String cmd = myList.getString(myList.getSelectedIndex());
  if ( cmd == "One" )  // *
  {
     // action 1 .....
  } else if (cmd == "Two") // **
  {
     // action 2 .....
  }
 }


Так вот, вопрос такой, как сделать чтобы не проверять по схеме (см. комм. *, **), т.к. значение lst может меняться? Вариант чтобы проверять индекс выбранного элемента из списка не очень красив.
Хотелось бы видеть список lst в виде _ключа_ и _значения_ (как в hashTable)


Автор: javastic 1.4.2005, 09:04
А почему такая тишина? smile

Автор: Domestic Cat 2.4.2005, 22:51
Не пойму, индекс тода как раз то, что нужно.

Автор: javastic 4.4.2005, 11:48
Просто я имел ввиду то что если lst будет другим, то и в обработчике придётся менять значение, а
это не удобно.

Спасибо, но я уже сделал то что хотел.
Унаследовал класс List и добавил в него то что нужно. Работает на ура!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)