android页面切换和常用方法的执行顺序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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后
点击返回按钮后
本文出自 “matengbing” 博客,请务必保留此出处http://matengbing.blog.51cto.com/11395502/1880918
以上是关于android页面切换和常用方法的执行顺序的主要内容,如果未能解决你的问题,请参考以下文章