从 HereMap 切换到 lwiit 形式

Posted

技术标签:

【中文标题】从 HereMap 切换到 lwiit 形式【英文标题】:Switching from HereMap to lwuit form 【发布时间】:2013-07-24 14:41:14 【问题描述】:

我试图在长按地图时显示 lwuit 表单,但出现以下错误

java.lang.NullPointerException

at bw.a(), bci=1
at bw.<init>(), bci=6
at bt.<init>(), bci=10
at by.<init>(), bci=48
at bj.a(), bci=10
at fv.<init>(), bci=54
at ex.<init>(), bci=11
at ed.<init>(), bci=33
at com.org.whatsaround.WhatsAroundMidlet.showLocationView(), bci=17
at gm.commandAction(), bci=80
at b.a(), bci=59
at v.b(), bci=10
at c.d(), bci=6
at ez.gestureAction(), bci=237
at com.nokia.mid.ui.gestures.GestureHandler.handleGestureEvent(), bci=60
at com.sun.midp.lcdui.DisplayEventListener.process(), bci=421
at com.sun.midp.events.EventQueue.run(), bci=182
at java.lang.Thread.run(Thread.java:661)

代码是

public void commandAction(Command c, Displayable d) 
        if (c == LONG_TOUCH) 

            GeoCoordinate coord = longTouch.getTouchAt();

            WhatsAroundMidlet.getInstance().showLocationView(country, phoneNumber, firstName, lastName, pTitle, pCategory, backListener, profilePic, coord);
        


    

【问题讨论】:

【参考方案1】:

从你的堆栈跟踪可以看出,你的代码中方法showLocationView()中抛出了异常,NullPointerException可能是由于方法调用中的参数之一(countryphoneNumberfirstNamelastName 等)传入一个尚未初始化的对象。

如果coord有问题,你可以检查如下:

 if (c == LONG_TOUCH) 
      GeoCoordinate coord = longTouch.getTouchAt();
      System.out.println(coord);
 

否则你就只能靠你自己了,因为你还没有解释代码countryphoneNumberfirstNamelastName等中的方式和位置。实际已填充。

如果堆栈跟踪中的函数名称未被混淆,您可以确定以下内容:

com.org.whatsaround.WhatsAroundMidlet.showLocationView() - 在这个方法中抛出异常。 gm.commandAction() - 触发 Command 回调 - 即输入您自己的代码。 ez.gestureAction() - 在maps-gesture.jar 中处理手势 com.nokia.mid.ui.gestures.GestureHandler.handleGestureEvent() - 这是由 maps-gesture.jar 创建的手势处理程序,由于长按而被调用。 com.sun.midp.lcdui.DisplayEventListener.process() - 这是将事件传递给所有注册的侦听器,在您的情况下,这是一个 LONG PRESS 事件。 com.sun.midp.events.EventQueue.run() - 底层事件循环(可能来自模拟器?)

【讨论】:

你是对的,坐标参数没有初始化。非常感谢

以上是关于从 HereMap 切换到 lwiit 形式的主要内容,如果未能解决你的问题,请参考以下文章

Android使用HereMap教程

从 WPS 切换到 Express Checkout?

linux实练

离子2形式验证

如何使用dto和C#窗口形式将信息从一种形式传输到另一种形式?

如何使用 Lwiit 资源编辑器创建主题或 GUI?