2017-07-29 32 views
0

我正在研究一个相当简单的应用程序,只显示引号。为什么每当启动一项新活动时都会调用onCreate()?

所有的源代码可以在这里看到:
https://github.com/Ashanmaril/Quotr

我在的onCreate(),我用的假设写道,它只会被调用一次一些设置代码,但这似乎不是案件。我遇到了一些错误,这些错误是由于每次启动新活动时,我的主要活动的onCreate()函数都会再次运行。

我搜索了一遍,人们声称onCreate()应该只在应用程序的生命周期中调用一次,但我已经在我的onCreate中添加了一个Log.v,并且可以清楚地看到它每次启动活动时都会运行从它,这是没有道理的。我已经尝试将launchMode设置为singleTop,我的一个活动以finish()结束,但这没有什么区别。

+0

发布您的代码。 – earthw0rmjim

+0

也许你每次都在摧毁它并重新创建 – Anil

+0

我真的不知道要发布什么内容。意图启动的样子如下: 意图launchQuoteListIntent = new Intent(Quotr.this,QuoteListActivity.class); startActivity(launchQuoteListIntent); 这是一个普遍的Android问题,为什么每当一个活动启动时调用onCreate()。我不知道这是否是特定于我的应用程序。 –

回答

-1

好吧,我终于解决了。我想我是一个完全白痴,但是一年半前我第一次启动这个应用时,我并不知道自己做了什么,因为它是我的第一个应用。

由于某些原因,当我实现第一个新的活动时,我使它扩展了主要活动而不是AppCompatActivity。所以我在新活动中对super.onCreate()和super.onDestroy()的调用称为它的超级类,这是主要活动。这让我有很多理解为什么现在我有这个问题。

你可以非常惊讶地发现这样的错误,所以也许别人会在未来犯这个错误,并得到这篇文章的帮助。

0

检查

的onDestroy()

检查,如果它被称为

因为上创建永远不会被调用,除非Ø

nDestroy()

叫做

相关问题