Android启动并返回多个Activity?

时间:2012-07-04 06:21:01

标签: android android-activity

我的应用有一项名为DetailActivity的活动。在DetailActivity中,我有一个按钮可以返回,另一个按钮可以使用不同的参数启动另一个DetailActivity。按下按钮后,我打电话:

((DetailActivity) ctx).finish();

当启动另一个DetailActivity时,我的应用程序有标签,所以它是这样的:

TabActivityGroupAbs parentActivity = (TabActivityGroupAbs) ((Activity) ctx)
                                .getParent();
Intent detailIntent = new Intent(parentActivity, DetailActivity.class);
parentActivity.startChildActivity("DetailFromGame", detailIntent);

现在从DetailActivity A,我开始使用DetailActivity B,从B开始C.然后我回过头来。从C开始,它正确地进入了B.然后我又回来了。该应用程序崩溃了。似乎它只能回到之前的1个活动。我尝试调试,当它运行到((DetailActivity) ctx).finish();时,我看到一个NullPointerException。但我不知道什么指针是null ???

有人知道如何解决这个问题吗?

编辑:我尝试抓住((DetailActivity) ctx).finish();行并抛出java.lang.RuntimeException: Unable to destroy activity {myapp.DetailActivity}: java.lang.NullPointerException

我想因为我有2个DetailActivity实例所以当我调用((DetailActivity) ctx).finish();时,不知何故ctx或对DetailActivity的任何引用都变为null。我对Android很新,所以我不确定

解决:我的错。在onDestroy()中,我访问一些静态字段,然后将它们设置为null。因此,下次调用finish()时,这些静态字段将抛出NullPointerException

0 个答案:

没有答案