これまでのところ非常に安定しているアプリがあり、それに MapView を追加することにしました。それが違いを生む場合、MapViewはHorizontalScrollViewにあります。メイン アクティビティを変換して MapActivity を拡張し、isRouteDisplayed() 関数を追加しました。コンパイルして実行し、スクロールして MapView が正しくロードされていることを確認できます。
私の問題は、 super.onDestroy() が呼び出されるときです。何らかの理由で、プログラムがクラッシュします。
LogCat:
10-17 18:32:17.109: E/AndroidRuntime(5477): 原因: java.lang.NullPointerException 10-17 18:32:17.109: E/AndroidRuntime(5477): com.google.android.maps.MapActivity で.onDestroy (MapActivity.java:500) 10-17 18:32:17.109: E/AndroidRuntime (5477): com.appsmith.mapit.MainActivity.onDestroy (MainActivity.java:177) で 10-17 18:32:17.109 : E/AndroidRuntime(5477): at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:2663) 10-17 18:32:17.109: E/AndroidRuntime(5477): ... 11 もっと見る
@Override
public void onDestroy()
{
internalSave();
writeOutLookupTable("Unit");
gpsManager.removeUpdates(myListener);
super.onDestroy(); //MainActivity.java Line 177
finish();
}
これをトラブルシューティングするためのアドバイスをいただければ幸いです。
編集:わかりました!onDestroy() と同じ情報を持つ onPause() を実装しました (アプリが使用されていないときに GPS がアクティブにならないようにするための解決策でした)。onPause() をコメントアウトすると、すべてが再び幸せになります。助けてくれてありがとう!