少年辛苦终身事,莫向光阴惰寸功。这篇文章主要讲述android页面切换和常用方法的执行顺序相关的知识,希望能为你提供帮助。
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页面切换和常用方法的执行顺序】本文出自 “matengbing” 博客,请务必保留此出处http://matengbing.blog.51cto.com/11395502/1880918
推荐阅读
- Android中使用Notification实现进度通知栏(示例三)
- Android之简单了解Bitmap显示图片及缓存图片
- 在 Chrome 中调试 Android 浏览器
- AndroidPageObjectTest_ByAllPossible.java
- Android -- 关闭AsyncTask(异步任务)
- Android6.0动态权限申请
- Android 开发命令行完全攻略
- Android使用ViewPager实现导航菜单
- Android stuido 中的keystore