我的应用程序实现了一个扩展到3-4个活动的操作。此流程的入口点可以来自应用程序中的不同活动。(HomeActivity,各种displayActivities)。当最后一个活动成功完成后,我想返回到开始的活动。
有没有一种最佳实践方法来做到这一点?谢谢你。
发布于 2013-01-25 03:32:44
您可以使用全局静态布尔值来帮助您(在示例SomeClass.IsClosingFlow中),另外,如果每个活动在“流”中(flow=meaning它是需要关闭的活动包的一部分),则应将其定义为“标记”。如果您的所有活动都在扩展一些抽象活动(即isActivityInFlow()),我建议您使用此标记作为抽象方法。
下面的代码演示了这一点,它需要放在应用程序中每个活动的onResume()中:
// Check to see if we are in the process of closing activities
if (SomeClass.IsClosingFlow){
if (isActivityInFlow()){
this.finish();
}
else{
// If we got here, and we're not in the flow anymore
SomeClass.IsClosingFlow = false;
}
}发布于 2013-01-25 03:37:27
有很多不同的方法来管理这类应用程序流。当你从一个活动调用到下一个活动时,有一种方法可能对你有用,而且很容易,那就是使用startActivityForResult()。然后,当您最终完成时,您只需设置结果并调用finish()。在每个活动中,您可以实现onActivityResult(),以便它设置结果并对自身调用finish()。通过这种方式,您可以将多个活动链接起来,然后再链接回启动该链接的人。
https://stackoverflow.com/questions/14499034
复制相似问题