Как отобразить несколько экранов списка на одном экране в j2me (java)

Я уже разработал приложение Rss Reader в j2me (java) с использованием KXML и LCDUI List и Form. Когда я запускаю свое приложение, я могу отображать экран списка LCDUI («Заголовки», «Изображения») на устройстве.

Но у меня есть требование:
у меня есть 3 xml-файла rss-канала, и когда я запускаю свое приложение, 3 xml-файла должны быть прочитаны, а вывод должен быть только на один экран:
на этом экране я должен иметь возможность для отображения 3 экранов списка rss-каналов (т. е. каждый экран списка LCDUI содержит список заголовков и изображений из файла rss xml)

Как я могу выполнить вышеуказанное требование в j2me?


person String    schedule 31.07.2012    source источник
comment
был ли мой ответ полезен для вас?   -  person Lucifer    schedule 03.08.2012


Ответы (1)


Самый простой способ разместить несколько списков с заголовками и изображениями на одном экране — использовать ChoiceGroup объектов внутри формы:

ChoiceGroup — это группа выбираемых элементов, предназначенных для размещения в Форма. Группа может быть создана с режимом, который требует сделать один выбор или допускает множественный выбор. Реализация отвечает за графическое представление этих режимов и должна предоставлять визуально различную графику для разных режимов. Например, он может использовать «переключатели» для режима одиночного выбора и «флажки» для режима множественного выбора...

Если ваш список относится к типу EXCLUSIVE или MULTIPLE, наиболее подходящим вариантом может быть группа выбора того же типа. Для списков типа IMPLICIT вам, возможно, придется проявить больше творчества, чтобы сохранить пользовательский опыт.

При переходе к группам выбора из списков учитывайте особенности API, доступные для таких элементов.

Например, тип POPUP предназначен для экономии места на экране — вы можете захотеть разместить три списка на одном экране. Существуют также такие API, как ItemStateListener и ItemCommandListener, расширяющие способы обработки пользовательского ввода.

  • Если вы обнаружите, что простые ChoiceGroup слишком ограничивают то, чего вы пытаетесь достичь, рассмотрите возможность использования CustomItem или, возможно, даже сторонние библиотеки пользовательского интерфейса, такие как LWUIT или J2ME Polish .

Другой вариант (который лично я бы предпочел) — сохранить List объектов. Маловероятно, что реальный пользователь будет указывать свои требования в терминах типа «Мне нужен один объект формы lcdui». Подумайте, какую функциональность они действительно хотят и как этого можно достичь с помощью списков. Форма с тремя группами выбора может оказаться менее удобной с точки зрения пользователя по сравнению с правильно разработанным набором экранов на основе списка.

person gnat    schedule 31.07.2012
comment
Привет, я использовал ChoiceGroup для своего требования, но я хочу использовать CHOICE.IMPLICIT, но если я его использую, это дает исключение, а затем изображение отображается неправильно? - person String; 01.08.2012
comment
@PavanKumarRagi, вы сделали это неправильно, исключение показывает именно это. Ваш список был НЕЯВНЫМ, вы не можете использовать его без изменений (см. мой ответ). Вместо этого попробуйте группу выбора EXCLUSIVE или POPUP - или, что еще лучше, рассмотрите последний вариант, который я рекомендую в своем ответе (со списками) - person gnat; 01.08.2012
comment
yaa, я использовал POPUP сейчас, после того, как я нажму на pupup в форме, я могу правильно отобразить изображение, но до этого в моей форме изображение не отображается должным образом .. спасибо ..... - person String; 01.08.2012