2013-07-24 2 views
0

Am пытается отобразить форму LWUIT, когда карта давно щелкнул, но я получаю следующую ошибкуПереключение с HereMap в 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); 
     } 


    } 
} 

ответ

0

Может быть видно из вашего трассировка стека, исключение выбрано в коде в методе showLocationView(), NullPointerException, вероятно, связано с одним из параметров вызова метода (country, phoneNumber, firstName, lastName и т. д.) pa ssing в объекте, который не был инициализирован.

Если coord виноват, вы можете проверить это следующим образом:

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

В противном случае вы можете самостоятельно, так как вы не объяснили, как и где в коде country, phoneNumber, firstName, lastName, и т.п. фактически заполнены.

Где имена функций трассировки стека являются не-затемненным, вы можете констатировать следующее:

  • 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() - (? От эмулятора возможно) основной цикл событий
+0

Вы правы, коорд параметр не был инициализирован. Большое спасибо – bobo