Метод setChangeListener не вызывается

я новичок в разработчике ежевики. Я использую pillsetbutton и pillfieldbutton, но когда я нажимаю pillfieldbutton, никаких действий не выполняется. Я использую метод setchangeListener(). Но никаких действий не выполняется. Я прохожу через этот процесс.

public DemoPill() {

                        PillButtonSet objButtonSet=new PillButtonSet();

                        final PillButtonField objButtonField1=new  PillButtonField("NSE");
                       final PillButtonField objButtonField2=new PillButtonField("BSE");

                        objButtonSet.add(objButtonField1);
                        objButtonSet.add(objButtonField2);

                        this.add(objButtonSet);

     bjButtonSet.setChangeListener(new FieldChangeListener() {

        public void fieldChanged(Field field, int context) {
            System.out.println("Hi ");

            if(field==objButtonField1)
            {

                System.out.println("This Is NSE Button");
            }
            else if(field==objButtonField2)
            {


                System.out.println("This Is BSE Button");
            }

        }
    });


}

}

person user1292721    schedule 02.04.2012    source источник
comment
поставь Field.Focusable и попробуй..   -  person Hitarth    schedule 02.04.2012


Ответы (2)


Вы печатаете его на консоли. Таким образом, без отладки кода вы никогда не узнаете, потребляется ли ваш клик. Поэтому просто используйте поток событий, чтобы увидеть результат на экране. Я предоставил вам образец, просто проверьте его. Он покажет результат на вашем экране. Вы также можете использовать Dialog.inform(String message ) Но всегда полезно делать это в потоке событий.

public DemoPill() {

                    PillButtonSet objButtonSet=new PillButtonSet();

                    final PillButtonField objButtonField1=new  PillButtonField("NSE");
                   final PillButtonField objButtonField2=new PillButtonField("BSE");

                    objButtonSet.add(objButtonField1);
                    objButtonSet.add(objButtonField2);

                    this.add(objButtonSet);

 bjButtonSet.setChangeListener(new FieldChangeListener() {

    public void fieldChanged(Field field, int context) {
       // System.out.println("Hi ");

        if(field==objButtonField1)
        {
                     UiApplication.getUiApplication().invokeLater(new Runnable() {

            public void run() {

                Dialog.inform("objButtonField1 button clicked")                 

            }
        });

        }
        else if(field==objButtonField2)
        {


           UiApplication.getUiApplication().invokeLater(new Runnable() {

            public void run() {

                Dialog.inform("objButtonField2 button clicked")                 

            }
        });
        }

    }
});


  }

}

Может быть, это поможет ура. :)

person BBdev    schedule 03.04.2012

Вы можете только просматривать вывод

System.out.println("ANYDATA");

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

person Ashraf Bashir    schedule 02.04.2012