再会。
我有一个应用程序,它有一个包含 3 个容器的主要活动。每个容器都有一个“注入”到其中的片段。在开始这个主要活动时,第一个容器和片段被强制显示,而其他两个被隐藏。单击按钮时,应用程序移动到第二个容器,其中包含另一个片段,依此类推。
这很有效,它会前进到最后一个容器,然后返回到第一个带有 android 后退按钮的容器。
问题是,如果我停在第二个片段,并尝试返回第一个片段,而不激活第三个片段,应用程序崩溃并出现以下错误:
java.lang.NullPointerException at
pl.oke.arshop.activities.ARShopActivity.onBackPressed(ARShopActivity.java:155)
at android.app.Activity.onKeyUp(Activity.java:1895) at
android.view.KeyEvent.dispatch(KeyEvent.java:1281) at
android.app.Activity.dispatchKeyEvent(Activity.java:2075) at
android.view.ViewRoot.handleFinishedEvent(ViewRoot.java:2463) at
android.view.ViewRoot.handleMessage(ViewRoot.java:1752) ... etc
其中 ARShopActivity.java:155 是:
@Override
public void onBackPressed() {
if (isVirtualRoomOpened) {
isVirtualRoomOpened = false;
showFurnitureFragments();
} else if (isFurnitureFragmentOpened) {
isFurnitureFragmentOpened = false;
showMainFragment();
}
super.onBackPressed();
Log.d("Dab", " " + isVirtualRoomOpened + " "
+ isFurnitureFragmentOpened + " " + isMainFragmentOpened);
}
}
有什么想法吗?谢谢你。