слушатели для поля ObjectChoice - PullRequest
1 голос
/ 30 ноября 2011

Я создаю приложение BlackBerry, которое содержит два ObjectChoiceFields. Я хочу добавить слушателей для каждого из них. Я искал это, но не нашел никакого полезного кода.

Это похоже на выбор страны-государства на веб-сайтах. Я ищу простую логику, и мне не нужно никакого решения, ориентированного на базу данных. Кто-нибудь может описать, как добавить слушателей для этих двух ObjectChoiceField?

Я приложил свой код ниже, но он работает только для поля выбора страны. Ничего не происходит, когда я меняю выбор состояния.

public class MyApplication extends MainScreen implements FieldChangeListener
{
ObjectChouceField choice_c,choice_s;
public MyApplication ()
    {
        this.setTitle("hai");
choice_c = new MyChoiceField("Select a Country", countryArray);
        choice_c.setChangeListener(this);
        this.add(choice_c);
choice_s = new MyChoiceField("Select a State", stateArray);
        choice_s.setChangeListener(this);
        this.add(choice_s);
                ..................
                ..................
}
public void fieldChanged(Field field, int context) 
    {
        if(field == choice_category)
        {
            Dialog.alert("choice country has been pressed");
        }
        else if(field == choice_round)
        {
            Dialog.alert("choice state has been pressed");
        }
    }
}

Ответы [ 2 ]

3 голосов
/ 02 декабря 2011

Вы пытались переопределить navigationClick метод ObjectChoiceField?

Вот пример:

ObjectChoiceField selectionField = new ObjectChoiceField("Select the Country",countryArray)
{
    protected boolean navigationClick(int arg0, int arg1) 
    {
        return super.navigationClick(arg0, arg1);
    }
};
0 голосов
/ 30 ноября 2011

ср - это ChoiceField.Используйте getSelectedIndex и инициируйте события соответственно.


cf.setChangeListener(new FieldChangeListener() {

            public void fieldChanged(Field field, int context) {
                // TODO Auto-generated method stub
                switch (cf.getSelectedIndex()) {
                case 0:
                    //code here //
                    break;
                default:
                    break;
                }
            }
        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...