假设有 3 个活动 A、B 和 C。在我的应用程序第一次启动时,B 是通过 A 创建的。但是在应用程序的后续使用中,我希望应用程序从 B 启动并转到 C。我该怎么做那?
(例如,Activity A 询问创建的按钮数量,而在 B 中,为 C 执行的进一步活动创建了这么多按钮。A 应仅在初始化时使用,而不应在应用程序的进一步使用时使用。但是创建的 Activity 的状态by A in B 必须保持不变)
任何参考资料或示例代码都可能会有所帮助
提前致谢。
假设有 3 个活动 A、B 和 C。在我的应用程序第一次启动时,B 是通过 A 创建的。但是在应用程序的后续使用中,我希望应用程序从 B 启动并转到 C。我该怎么做那?
(例如,Activity A 询问创建的按钮数量,而在 B 中,为 C 执行的进一步活动创建了这么多按钮。A 应仅在初始化时使用,而不应在应用程序的进一步使用时使用。但是创建的 Activity 的状态by A in B 必须保持不变)
任何参考资料或示例代码都可能会有所帮助
提前致谢。
您始终可以通过活动 A 启动您的应用程序。在 A 中,检查它是否是第一次。如果是第一次,则进行多次初始化操作并启动 B。否则直接启动 B。您可以将 isFirstTime 标志存储到首选项中。
在您的 A、B 和 C 类中使用此代码
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if(keyCode == KeyEvent.KEYCODE_BACK){
finish();
}
return super.onKeyDown(keyCode, event);
}
这可以通过多种方式完成,但确定的方式并不多:您将使用的基本方法是启动屏幕以及存储在某处的标志变量。正如您的评论之一所提到的,每当您进入活动 A 时,您始终可以在 SharedPreferences 中设置标志。当您将来返回此活动时,您可以简单地检查是否设置了标志,然后可能会创建一个新的 Intent 以从 B 开始活动 C。您也可以对 A 做类似的事情,检查标志你选择去应用程序。一个棘手的情况是如何重置标志。有几个选项,您可以在考虑生命周期后保守地重置 onStop() 中的标志,这可能是一个好主意,也可能不是一个好主意。您还可以注册一个启动完成处理程序,然后在那里重置标志,