您的位置:首页 > 移动开发 > Android开发

Android组件系列----当前Activity跳转到另一个Activity的详细过程

2014-07-20 18:33 337 查看
【声明】

欢迎转载,但请保留文章原始出处→_→

生命壹号:http://www.cnblogs.com/smyhvae/

文章来源:/article/4579375.html

联系方式:smyhvae@163.com

【正文】

一、如何在一个应用程序当中定义多个Activity:

步骤如下:

(1)定义一个类,继承Activity

(2)在该类当中,复写Activity当中的onCreate()方法

(3)在AndroidManifest.xml文件中注册该Activity

详细解释如下:

(1)定义一个类,继承Activity:在src文件夹里面的包中新建一个class文件,可命名为:SecondActivity.java

(2)在该类当中,复写Activity当中的onCreate()方法:在菜单栏选择Source--->Override/Implement Methods,弹出框,选择其中的onCreate()方法:

package com.example.smyh004activity01;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;

public class SecondActivity extends Activity{

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
System.out.println("SecondActivity-onCreate");
}

@Override
protected void onStart() {
super.onStart();
System.out.println("SecondActivity-onStart");
}

@Override
protected void onResume() {
super.onResume();
System.out.println("SecondActivity-onResume");
}

@Override
protected void onPause() {
super.onPause();
System.out.println("SecondActivity-onPause");
}

@Override
protected void onStop() {
super.onStop();
System.out.println("SecondActivity-onStop");
}

@Override
protected void onRestart() {
super.onRestart();
System.out.println("SecondActivity-onRestart");
}

@Override
protected void onDestroy() {
super.onDestroy();
System.out.println("SecondActivity-onDestroy");
}

/*
* 通过这个方法跳转到SecondActivity界面
*/
public void gotoMainActivity(View view){
//创建一个意图
Intent intent = new Intent(SecondActivity.this,MainActivity.class);
startActivity(intent);
finish();//结束当前的Activity
//如果没有上面的finish(),那么当跳转到MainActivity之后,SecondActivity只会onStop,不会ondestroy。即仍然还在栈中
//需要注意的是,当它跳到MainActivity时,会去重新创建一个新的MainActivity,即执行MainActivity中的onCreate()方法;
}

}


SecondActivity.java
并在清单文件中注册SecondActivity,添加如下代码:

<activity
android:name=".SecondActivity"
android:label=".SecondActivity">
</activity>


生命周期描述如下:

当用户点击当前默认的MainActivity中的按钮后,会跳到SecondActivity。生命周期如下:

启动默认Activity时:

MainActivity:onCreate

MainActivity:onStart

MainActivity: onResume

点击按钮后,跳到SecondActivity:(MainActivity被保留至栈底)

MainActivity:onPause

SecondActivity:onCreate

SecondActivity:onStart

SecondActivity: onResume

MainActivity: onStop

按返回菜单后,回到MainActivity:(SecondActivity被销毁)

SecondActivity: onPause

MainActivity:onRestart

MainActivity:onStart

MainActivity: onResume

SecondActivity: onStop

SecondActivity: onDestroy

当用户打开应用程序,之后按Home键返回到主页(或者按电源键,效果是一样的),再回到原来的程序。生命周期描述如下:

启动默认Activity时:

MainActivity:onCreate

MainActivity:onStart

MainActivity: onResume

按Home键返回到主页:

MainActivity:onPause

MainActivity:onStop

再回到原来的程序:

MainActivity:onRestart

MainActivity:onStart

MainActivity:onResume

方案二的【工程文件】

链接:http://pan.baidu.com/s/1dDhBd7r

密码:jfm9
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐