目前,我在我的所有活动中都使用它:
@Override
public void onRestart(){
onStart();
onResume();
runFadeInAnimation();
}
它“有效”,但如果将来让我搞砸了,我就无能为力了。我不确定它是否适用于侥幸,或者它是如何应用的。我尝试通过以下方式运行它:
@Override
public void onRestart(){
super.onRestart();
runFadeInAnimation();
}
但是我不能 - 因为我的所有活动都扩展了我的主要活动,如果我在super上运行,它会尝试调用我的主要活动onRestart(),这将会崩溃。 (我也希望我的主要淡入,所以我也在那里运行动画)
如何优雅地处理此问题而不是在不知不觉中导致错误?
答案 0 :(得分:0)
在这里查看活动生命周期:http://developer.android.com/reference/android/app/Activity.html
你正在做的事情实际上是多余的,应该在活动重启时自动发生。
听起来您有一些可能的设计问题,如何定义主要活动以及如何扩展它。如果我可以提出建议,我会说如果你的活动在所有活动中都很常见,那么把这些东西放在你可以扩展的“父”活动中。您现在定义“主要”活动的方式似乎在其中具有不适合其他活动的细节。因此,一旦设置了“父”活动类,就将其扩展为创建“主”活动并将“淡入”逻辑放在那里。
最终,您应该能够在没有任何不利结果的情况下调用super.onRestart。