我有一个到目前为止稳定的应用程序,我决定要在其中添加一个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): 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()使一切再次快乐。感谢您的帮助!
您不需要调用饰面();在ondestroy()内,finish()如docs所说:"当您的活动完成并应关闭时,请致电。"因此,如果您在OnDestroy()中
也是super.ondestroy();通常被放在ondestroy()的顶部。