Ami*_*Pal 0 java android android-activity
我是Android的初学者,正在阅读Android有关Activity生命周期的官方教程,该教程OnResume()只能在之后调用OnStart().真的吗?
如果是,则有一个class(MainActivity)扩展,Android.Activity其中没有OnStart()和OnStop()方法.我列出了这个类文件中的所有方法:
OnCreate()
OnResume()
onPause()
launchNewActivity(){
startActivity(new Intent(this, SecondActivity.class));
finish();
}
Run Code Online (Sandbox Code Playgroud)
我在这里有疑问:
onStart()方法,那么活动将如何开始?onStart()和onStop()方法SecondActivity.这就是我没有这些方法的原因MainActivity吗?这看起来像一个愚蠢的问题但我在这里很困惑:)
你似乎对活动生命周期感到困惑.
OnResume() can only be called after OnStart() ?一点是你没有调用(调用)这些方法.创建活动时会自动调用.并且还有一些在暂停活动时自动调用的方法.
您可以做的是,当这些方法自动执行时,覆盖此类方法以执行某些操作.就像知道这些方法的执行顺序一样,您可以在任何阶段执行操作.
要回答您的问题,默认情况下会在方法后调用YES .那是序列.onResume()onStart()
There is a class (MainActivity) extends by Android.Activity which doesn't have OnStart() and OnStop()methods?其中一些方法不会自动实现.您可以在任何活动中实施所有生命周期方法.例如,如果在onStop()调用方法时不想执行任何操作,则可以简单地在您不使用的活动中覆盖该方法,如下例所示.
//Overriding the onStop() method to do actions of your interest
@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
Log.d("TAG", "On Stop");
//Do the action you would like to perform
}
Run Code Online (Sandbox Code Playgroud)
If there is no onStart() method then how can activity will get start?如果没有方法,仍然会调用该方法.如果您需要在那里执行特定操作,则覆盖活动类中的方法,并指定在创建活动时自动调用该方法时要执行的操作.
I can find onStart() and onStop() method in SecondActivity. Is that why I don't have these method in MainActivity?您可以在任何活动中使用所有生命周期方法,包括MainActivity.如果要覆盖方法,请使用它们.如果您没有按顺序执行任何特殊操作,只需保留它们,您的活动就可以正常工作,因为默认情况下会自动调用.
下图显示了生命周期方法的调用顺序.

.
我想建议您观看这些简短的视频,这些视频极好地解释了活动生命周期的工作原理.
http://www.youtube.com/watch?v=Qs-lGmaMIDk&index=24&list=PLlxmoA0rQ-LyCGSSD_nuPAmXDSR_FU0RR
http://www.youtube.com/watch?v=F5XP1bYBRdI&list=PLlxmoA0rQ-LyCGSSD_nuPAmXDSR_FU0RR&index=25
我希望这可以帮助你!
| 归档时间: |
|
| 查看次数: |
1282 次 |
| 最近记录: |