如何解决Android onCreate onResume
| 我有个问题。 当我第一次启动我的android应用程序时,在主活动中同时调用onCreate
和onResume
。但是我只想被称为onCreate。
我能做什么?
解决方法
根据SDK文档,您看到的是预期的行为。查看文档中“活动-活动生命周期”的流程图。
通过编程,您可以通过保留实例成员跟踪onResume之前是否被调用(第一次调用onResume),设置变量并返回例如来克服此问题。
private boolean resumeHasRun = false;
@Override
protected void onResume() {
super.onResume();
if (!resumeHasRun) {
resumeHasRun = true;
return;
}
// Normal case behavior follows
}
, 正确的答案是使用Activity
\'4ѭ方法。这可能是您一直在寻找的东西。
, 您无能为力,因为这是活动生命周期的工作方式。
有关显示生命周期的图表,请参见http://developer.android.com/guide/topics/fundamentals/activities.html#Lifecycle。
, 如您在API中所见,活动生命周期始终在显示活动之前调用onResume。
http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle
我想您可以为首次访问创建一个全局布尔值并将其设置为false。
然后覆盖onResume并检查变量。
如果为false,则将其设置为true并返回,
如果为true,则调用super.onResume。
应该可以,但是我不知道它是否可以更简单地处理,并且我无法在此处使用sdk进行测试。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。