不调用setChangeListener方法

时间:2012-04-02 13:59:20

标签: blackberry blackberry-simulator blackberry-eclipse-plugin

我是黑莓开发者的新手。我使用pillsetbuttonpillfieldbutton 但是当我点击pillfieldbutton时,没有执行任何操作。我正在使用setchangeListener()方法。但是没有执行任何Action。我正在通过这个过程。

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");
            }

        }
    });


}

}

2 个答案:

答案 0 :(得分:1)

您只能查看

的输出
System.out.println("ANYDATA");

处于调试模式未运行
尝试调试它不要运行它。

答案 1 :(得分:1)

您正在控制台上打印它。因此,无需调试代码,您将永远不知道您的点击是否被消耗。所以只需使用事件线程来查看屏幕上的输出。我已经为你提供了样品,只需检查一下。它将在屏幕上显示输出。你也可以使用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")                 

            }
        });
        }

    }
});


  }

}
可能这会有助于欢呼。 :)