android页面切换和常用方法的执行顺序
2016-12-08 20:54
417 查看
package com.example.android.active; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; /** * @deprecated Activity生命周期中的7大方法和四中状态 * */ public class MainActivity extends Activity { /** * Activity被创建时调用 * 可以在该方法中初始化UI组件 * 该方法调用完毕会调用onStart()方法 * */ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); System.out.println("MainActivity-onCreate()"); } /** * 被onCreate()调用,此时activity课件,但不能被操作 * 该方法会调用onResume()或者onStop()方法 * */ @Override protected void onStart() { // TODO Auto-generated method stub super.onStart(); System.out.println("MainActivity-onStart()"); } /** * 当一个处于stop状态下的activity重新获取焦点时调用 * 该方法会调用onStart方法 * * * */ @Override protected void onRestart() { // TODO Auto-generated method stub super.onRestart(); System.out.println("MainActivity-onRestart()"); } /** * 被onStart()调用,此时activity可见可交互, * 此时,activity处于激活(Running)状态 * * */ @Override protected void onResume() { super.onResume(); System.out.println("MainActivity-onResume()"); } /** * 当activity处于运行状态,被其他activity覆盖(位完全覆盖式调用) * 此时activity处于暂停状态,失去焦点,不可操作 * 此状态下activity可以被kill掉 * 如果当用户返回该activity,那么会调用onResume方法,重新获取焦点 * */ @Override protected void onPause() { // TODO Auto-generated method stub super.onPause(); System.out.println("MainActivity-onPause()"); } /** * 当activity完全被另一个activity覆盖时被调用 * 此时activity进入停止状态,完全不可见 * 此状态下activity可以被kill掉 * 当用户重新回到改activity,会调用restart方法 * * * */ @Override protected void onStop() { // TODO Auto-generated method stub super.onStop(); System.out.println("MainActivity-onStop()"); } /** * 当activity调用了finish方法,或被系统销毁时被调用 * 可以在该方法中进行资源释放的工作 * */ @Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); System.out.println("MainActivity-onDestory()"); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } /** * 通过这个方法跳转到activity2界面*/ public void gotoActivity2(View v){ //创建一个意图 Intent intent=new Intent(this,MainActivity2.class); //启动另一个activity startActivity(intent); } }
package com.example.android.active; import android.app.Activity; import android.os.Bundle; import android.view.Menu; public class MainActivity2 extends Activity{ /** * Activity被创建时调用 * 可以在该方法中初始化UI组件 * 该方法调用完毕会调用onStart()方法 * */ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); System.out.println("MainActivity2-onCreate()"); } /** * 被onCreate()调用,此时activity课件,但不能被操作 * 该方法会调用onResume()或者onStop()方法 * */ @Override protected void onStart() { // TODO Auto-generated method stub super.onStart(); System.out.println("MainActivity2-onStart()"); } /** * 当一个处于stop状态下的activity重新获取焦点时调用 * 该方法会调用onStart方法 * * * */ @Override protected void onRestart() { // TODO Auto-generated method stub super.onRestart(); System.out.println("MainActivity2-onRestart()"); } /** * 被onStart()调用,此时activity可见可交互, * 此时,activity处于激活(Running)状态 * * */ @Override protected void onResume() { super.onResume(); System.out.println("MainActivity2-onResume()"); } /** * 当activity处于运行状态,被其他activity覆盖(位完全覆盖式调用) * 此时activity处于暂停状态,失去焦点,不可操作 * 此状态下activity可以被kill掉 * 如果当用户返回该activity,那么会调用onResume方法,重新获取焦点 * */ @Override protected void onPause() { // TODO Auto-generated method stub super.onPause(); System.out.println("MainActivity2-onPause()"); } /** * 当activity完全被另一个activity覆盖时被调用 * 此时activity进入停止状态,完全不可见 * 此状态下activity可以被kill掉 * 当用户重新回到改activity,会调用restart方法 * * * */ @Override protected void onStop() { // TODO Auto-generated method stub super.onStop(); System.out.println("MainActivity2-onStop()"); } /** * 当activity调用了finish方法,或被系统销毁时被调用 * 可以在该方法中进行资源释放的工作 * */ @Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); System.out.println("MainActivity2S-onDestory()"); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }文件配置
<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.android.active.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".MainActivity2" > </activity> </application>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> <Button android:id="@+id/button1" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/textView1" android:layout_marginLeft="15dp" android:layout_marginTop="32dp" android:layout_toRightOf="@+id/textView1" android:text="启动第二个activity" android:onClick="gotoActivity2"/> </RelativeLayout>运行项目
点击启动第二个activity后
点击返回按钮后
相关文章推荐
- Android多个Activity切换时其生命周期中的方法执行顺序
- Android多个Activity切换时其生命周期中的方法执行顺序
- Android多个Activity切换时其生命周期中的方法执行顺序
- Android多个Activity切换时其生命周期中的方法执行顺序
- Android多个Activity切换时其生命周期中的方法执行顺序
- Android页面切换方法和区别
- Android页面切换方法和区别
- Note:Android中DialogFragment一些重要方法的执行顺序
- Android使用多个Acitvity切换页面的方法_以及切入的动画效果
- Android页面切换方法和区别
- Android一些方法的执行顺序
- Android页面切换方法和区别
- android中多个fragment切换时如何避免重复执行onCreateView方法,如何保存上一个fragment的状态
- Android页面切换方法和区别
- asp.net 页面父类与子类方法执行的顺序
- Android编程实现ViewPager多页面滑动切换及动画效果的方法
- HTML中嵌入Javasript的方法及在页面的执行顺序
- Android 之 View线程 run方法和draw方法执行的先后顺序
- android不用另建工程进行单元测试及改变测试方法执行顺序
- android横竖屏切换,不重新执行onCreate的方法