【发布时间】:2009-09-16 16:09:08
【问题描述】:
我对如何在 Blackberry JDE 中实现 FieldChangeListener 感到有些困惑。一种方法是让我的主类实现 FieldChangeListener,然后在其中有一个 fieldchanged 方法,另一种方法让我这样做:
FieldChangeListener listenerUS = new FieldChangeListener() {
public void fieldChanged(Field field, int context) {
System.out.println("Something changed!");
pushScreen(_newScreen);
}
};
无论哪种方式,如果我尝试调用一个方法(如 pushScreen 或我编写的自定义方法),我会收到运行时错误。在调试模式下,也没有显示我的任何打印语句。但是,如果我彻底删除 fieldChanged 方法,它甚至不会编译,所以我很漂亮确定它看到了代码?
我已将侦听器添加到我希望它连接到的按钮中,方法是:
but_temp.setChangeListener(this);
(在第一种情况下)或通过将 listenerUS.
一切似乎都已连接,但我的打印语句出现了,如果我调用一个方法,我会得到一个运行时错误。
这有意义吗?我只是对如何在黑莓上使用监听器感到完全困惑吗?
我的代码有一个完整的副本...
【问题讨论】:
-
我对正在发生的事情感到困惑。你说 println() 调用没有发生,但同时你说 pushScreen() 会导致运行时错误?另外,什么是运行时错误?
-
之前,当我写这篇文章时,它是一个“JUM 错误 104:未捕获的 NullPointer 异常”。现在它只是在 Eclipse 中崩溃到调试屏幕,即使代码我没有改变。此外,由于某种原因,它现在进入了我的打印声明。
标签: java blackberry listener jde