Модераторы: javastic, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> StringItem Form и Command 
:(
    Опции темы
YuraDoc
Дата 16.5.2008, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 1.4.2006
Где: Zhytomir, Ukraine

Репутация: нет
Всего: нет



Есть у меня Form на которую набросали много StringItem. Когда я перехожу с одной на другую StringItem,  то могу нажать на Command. Как мне узнать title у выбранного StringItem по нажатию?
PM MAIL WWW ICQ Skype   Вверх
eugine_s
Дата 17.5.2008, 09:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 14.11.2007
Где: Киев

Репутация: 17
Всего: 17




StringItem.getText() ?

PM MAIL   Вверх
YuraDoc
Дата 17.5.2008, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 1.4.2006
Где: Zhytomir, Ukraine

Репутация: нет
Всего: нет



Да, StringItem.getText(), StringItem.getTitle() .
Т.е. чтобы я мог узнать какой элемент получил фокус, грубо говоря.

Это сообщение отредактировал(а) YuraDoc - 17.5.2008, 11:23
PM MAIL WWW ICQ Skype   Вверх
eugine_s
Дата 17.5.2008, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 14.11.2007
Где: Киев

Репутация: 17
Всего: 17



реализовать интерфес
ItemCommandListener

метод commandAction(Command c, Item item)

для StringItem-ов сделать setItemCommandListener()

PM MAIL   Вверх
YuraDoc
Дата 2.6.2008, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 1.4.2006
Где: Zhytomir, Ukraine

Репутация: нет
Всего: нет



Я для каждого StringItem реализовал setItemCommandListener() в котором перегрузил commandAction(Command c, Item item), и указал на какую команду формы (на какой они находятся) должна происходить реакция.
Но реакция не происходит.

PM MAIL WWW ICQ Skype   Вверх
i_SweP
Дата 2.6.2008, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 126
Регистрация: 23.6.2007

Репутация: нет
Всего: нет



Цитата(YuraDoc @  2.6.2008,  18:33 Найти цитируемый пост)
Но реакция не происходит.


Цитата(eugine_s @  17.5.2008,  12:06 Найти цитируемый пост)
для StringItem-ов сделать setItemCommandListener()


А то, что ты "реализовал setItemCommandListener()" - это видимо был интерфейс ItemCommandListener

Это сообщение отредактировал(а) i_SweP - 2.6.2008, 20:59
PM MAIL   Вверх
YuraDoc
Дата 3.6.2008, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 1.4.2006
Где: Zhytomir, Ukraine

Репутация: нет
Всего: нет



Да я реализовал интерфейс ItemCommandListener для каждого StringItem-а.
Так все же почему не ловится событие на нажатие Command?
PM MAIL WWW ICQ Skype   Вверх
i_SweP
Дата 3.6.2008, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 126
Регистрация: 23.6.2007

Репутация: нет
Всего: нет



Ну, в общем я вижу два выхода: упорная отладка или приведи здесь свой код 

Это сообщение отредактировал(а) i_SweP - 3.6.2008, 19:22
PM MAIL   Вверх
Dummy
Дата 3.6.2008, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 21.5.2007

Репутация: 7
Всего: 19



YuraDoc, ты в соответствующие StringItem'ы добавляешь нужные команды через Item.addCommand()? Если нет - то у StringItem'ов в таком случае своих команд нет, поэтому и ItemCommandListener'у реагировать не на что, будет реагировать обработчик CommandListener.

А вот если ты добавляешь одну и ту же команду и к форме, и к StringItem, то тут возможны варианты.  Например, у меня в WTK 2.2 и 2.5 в списке команд при выборе StringItem добавленная команда отображается 2 раза, но при активации любой из них срабатывает CommandListener формы, а не ItemCommandListener для StringItem.

На Sprint WTK 3.2 в аналогичном случае также отображалось 2 одинаковых команды, но при активации любой из них отрабатывал ItemCommandListener.

Так что лучше для StringItem завести отдельную команду, которая не будет добавляться в форму.
PM MAIL   Вверх
Anatret
Дата 31.5.2010, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 18.9.2007

Репутация: нет
Всего: нет



У меня чуть другого рода проблема. Так же на форме некое кол-во StringItem'в. После выбора одного из них перехожу на другую форму там вывожу тупо текст stringItem.getText(), допустим просто 'Hello'  и он выводит как надо. А вот если вернуться обратно к первой форме и выбрать другое поле с текстом, допустим 'World' и перейти во вторую то все равно почему то получаю текс 'Hello'.  Правда использую переменную что бы во второй ее использовать.
Код

public void commandAction(Command command, Item item) {
        if (item == stringItem) {
            if (command == okCommand) {
                provider = stringItem.getText();
                switchDisplayable(null, getForm3());
           }
        } else if (item == stringItem2) {
            if (command == okCommand2) {
                provider = stringItem2.getText();
                switchDisplayable(null, getForm3());
              }
        }
    }


А вот так вот вывожу
Код

    public StringItem getStringItem4() {
        if (stringItem4 == null) {
             stringItem4 = new StringItem("Текст с первой формы:", provider);
            }
        return stringItem4;
    }

Очень нужна ваша помощь.
PM MAIL   Вверх
Dummy
Дата 1.6.2010, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 21.5.2007

Репутация: 7
Всего: 19



Когда ты показываешь форму в первый раз, stringItem4 ещё не создан. Он создаётся, причем при создании ему передаётся строка provider. Второй раз он у тебя уже не равен null, поэтому используется тот же и с тем же текстом. То, что ты присвоил новое значение ссылке provider, никак не влияет на stringItem4.
PM MAIL   Вверх
Anatret
Дата 1.6.2010, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 18.9.2007

Репутация: нет
Всего: нет



Dummy спсб ) заработало
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.0641 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.