Я разрабатываю приложение для парижского метро. Одна из функций - это карта, на которой вы можете щелкнуть по станциям метро и посмотреть, что такое линии метро, и когда следующие 4 поезда на этой станции.Проблема с draw() на MapView ItemizedOverlay
Я создал, следовательно, классы MapActivity
и ItemizedOverlay
.
На моем устройстве он работает отлично, но я получаю несколько журналов от пользователей с крахом, и я действительно не понимаю, что случилось.
Активность моей карты добавляет ОДИН ItemizedOverlay
, который отображает голубую точку для текущего местоположения пользователя. Этот оверлей также прослушивает onTap, который в зависимости от координат крана будет пытаться найти станции метро (для которых я знаю координаты lat/lon). Это прекрасно работает.
Стек следов аварии является:
java.lang.NullPointerException
at com.google.android.maps.OverlayBundle.draw(OverlayBundle.java:42)
at com.google.android.maps.MapView.onDraw(MapView.java:494)
at android.view.View.draw(View.java:6535)
at android.view.ViewGroup.drawChild(ViewGroup.java:1531)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258)
at android.view.ViewGroup.drawChild(ViewGroup.java:1529)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258)
at android.view.View.draw(View.java:6538)
at android.widget.FrameLayout.draw(FrameLayout.java:352)
at android.view.ViewGroup.drawChild(ViewGroup.java:1531)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258)
at android.view.View.draw(View.java:6538)
at android.widget.FrameLayout.draw(FrameLayout.java:352)
at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:1830)
at android.view.ViewRoot.draw(ViewRoot.java:1349)
at android.view.ViewRoot.performTraversals(ViewRoot.java:1114)
at android.view.ViewRoot.handleMessage(ViewRoot.java:1633)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4363)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
at dalvik.system.NativeStart.main(Native Method)
Иногда это происходит от разных линий, но она всегда заканчивает врезаться в OverlayBunde.java:42
Как есть не упоминает мой код, я не знаю, что неправильно.
Вы можете получить исходный код MapActivity
и в ItemizedOverlay
: http://code.google.com/p/metroparis/source/browse/trunk/src/org/bicou/metro/
Класс активности является ACarteStations
и класс оверлей StationMetroMapOverlay
.
Прошу прощения, что код на французском языке. Я переведу его в конце концов :) Если вам нужны переводы об именах переменных, просто дайте мне знать.
Надеюсь, вы можете мне помочь !!
Я хотел бы также дать список устройств, аварии, я не знаю, если это уместно: - HTC Desire 2,2 FRF91 - HTC HD2 2,2 FRF91 - Sony Ericsson X10i 1,6 - Acer Liquid 2,1 - Samsung GT-I5700 2,1 - Nexus One 2,1 EPE54B - Samsung GT-I9000 2,1 Мое устройство (на котором у меня нет этой проблемы) является Nexus One 2,2 FRF91 (CyanogenMod6RC2) –