setChangeListener方法未被调用
问题描述:
我是黑莓开发者的新手。我使用pillsetbutton
和pillfieldbutton
但是当我点击pillfieldbutton
没有任何操作执行。我正在使用setchangeListener()method.but没有任何操作执行。我要通过此过程。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");
}
}
});
}
}
答
只能未处于运行在调试模式查看
System.out.println("ANYDATA");
输出。
尝试调试它不运行它。
答
您正在控制台上打印它。因此,如果不调试代码,您将永远不会知道您的点击是否已被使用。所以只需使用事件线程来查看屏幕上的输出。我给你提供了样品,只是检查它。它会在屏幕上显示输出。你也可以使用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")
}
});
}
}
});
}
}
可能这会帮助欢呼。 :)
set Field.Focusable and try .. – Hitarth 2012-04-02 14:42:29