BlackBerry - Добавить элементы в ListField - PullRequest
6 голосов
/ 26 декабря 2008

Может кто-нибудь дать мне простой пример того, как добавить три строки в ListField, чтобы в списке было что-то вроде этого?

Элемент 1

Элемент 2

Позиция 3

Я просто хочу показать список, в котором пользователь может выбрать один из элементов, и программа сделает что-то в зависимости от выбранного элемента.

Я искал по всему Интернету, но кажется невозможным найти простой пример того, как это сделать (большинство примеров, которые я нашел, неполные), а документация по blackberry ужасна.

Спасибо!

Ответы [ 5 ]

11 голосов
/ 31 декабря 2008

Возможно, вы захотите взглянуть на использование ObjectListField. Обработка действия выбора выполняется через содержащий объект Screen, я сделал это ниже с помощью MenuItem, я не совсем уверен, как установить прослушиватель выбора по умолчанию, возможно, вам придется обнаружить события клавиш и колесика.

Пример кода для вас: (не проверено!)

MainScreen screen = new MainScreen();
screen.setTitle("my test");

final ObjectListField list = new ObjectLIstField();
String[] items = new String[] { "Item 1", "Item 2", "Item 3" };
list.set(items);

screen.addMenuItem(new MenuItem("Select", 100, 1) {
    public void run() {
        int selectedIndex = list.getSelectedIndex();
        String item = (String)list.get(selectedIndex);
        // Do someting with item
    });
screen.add(list);
2 голосов
/ 18 февраля 2009

Вы можете переопределить метод navigationClick следующим образом:

ObjectListField list = new ObjectListField()
{
    protected boolean navigationClick(int status, int time)
    {
        // Your implementation here.
    }
};
1 голос
/ 03 апреля 2012
final class SimpleListScreen extends MainScreen
{
    public SimpleListScreen()
    {
        super(Manager.NO_VERTICAL_SCROLL);

        setTitle("Simple List Demo");

        add(new LabelField("My list", LabelField.FIELD_HCENTER));
        add(new SeparatorField());

        Manager mainManager = getMainManager();

        SimpleList listField = new SimpleList(mainManager);

        listField.add("Item 1");
        listField.add("Item 2");
        listField.add("Item 3");
        }
    }

    //add listener so that when an item is chosen,it will do something
0 голосов
/ 29 февраля 2012
private ListField fList = new ListField(){
        protected boolean navigationClick(int status, int time) {
            System.out.println("omt Click");
            return true;
        };
    };
0 голосов
/ 10 февраля 2009

Вы можете обнаружить щелчок по каждому элементу списка, переопределив

protected boolean navigationClick(int status,int time)

Тогда вам просто нужно решить, что делать в ответ на щелчок. Я сделал это, используя анонимный класс, установленный для каждого элемента списка.

...