【声明】
欢迎转载,但请保留文章原始出处→_→
【正文】
一、如何在一个应用程序当中定义多个Activity:
步骤如下:
1. 定义一个类,继承Activity
2. 在该类中复写Activity的onCreate()方法
3. 在AndroidManifest.xml文件中注册该Activity
详细解释如下:
1. 定义一个类,继承Activity
在src文件夹里面的包中新建一个class文件,可命名为:SecondActivity.java。
2. 在该类中复写Activity的onCreate()方法
在菜单栏选择Source--->Override/Implement Methods,弹出框,选择其中的onCreate()方法。注:onCreate()方法是Activity运行的入口。紧接着,在layout文件夹中,为该Activity添加布局文件(文件名必须为小写)。在该布局文件中添加一个 <TextView />。在SecondActivity.java中设置该Activity所使用的布局文件,即在onCreate()方法中添加如下代码。
3. 在AndroidManifest.xml文件中注册该Activity
想要启动的Activity一定要先在Manifest文件中进行注册。打开AndroidManifest.xml文件,注意里面的Activity标签,即以下代码:
02行:代表Activity的名字:包名+类名。
03行:label指定活动中标题栏的内容。
04至08行:Activity的子标签,即:以上这段代码放在哪个Activity里,那个Activity就作为应用程序默认启动的Activity。即程序运行后的默认启动的Activity。现在将SecondActivity注册进去,在第一个Activity后面,添加如下代码。
二、Android中的back stack(后退栈):
后退栈是一个先进后出(子弹上膛)的栈结构。Android操作系统只显示back stack中最上面的元素(只显示栈顶端的activity)。在上方的图中,当用户点击后退按钮时,出现以下情况:最上方的activity将被移除,依此类推。
三、启动一个Activity的方法:
在默认启动的Activity中启动另一个Activity的核心代码如下:
步骤如下:
1. 生成一个意图对象 Intent(Intent封装了你想做什么这件事)
2. 调用setClass方法设置所要启动的Activity
3. 调用startActivity方法启动Activity
具体解释如下:
【实例】在第一个Activity点击按钮,来启动第二个Activity;在第二个Activity点击按钮,返回到第一个Activity
1. 生成一个意图对象 Intent:
```java
Intent intent = new Intent();
```
2. 调用setClass方法设置所要启动的Activity:
```java
intent.setClass(packageContext, cls);
```
参数解释如下:
- 第一个参数:这个context对象即当前activity对象。Activity是context类的子类,此时Activity向上转型了。
- 第二个参数:表示意图启动的那个Activity。
3. 调用startActivity方法启动Activity:
```java
startActivity(intent);
```
总而言之,监听器部分的【核心代码】如下:
核心代码为第04行至第09行。
【完整代码】如下:方案一并在清单文件中注册SecondActivity,添加如下代码:
或者如果不绑定监听器的话,可以对布局文件中的Button添加如下代码:android:onClick="gotoSecondActivity"【完整代码】如下:方案二并在清单文件中注册SecondActivity,添加如下代码:
SecondActivity的生命周期函数包括:
- onCreate():当该Activity被创建时调用。
- onStart():当该Activity可见且用户可以与之交互时调用。
- onResume():当该Activity成为前台活动并开始与用户进行交互时调用。
- onPause():当该Activity失去焦点但仍可见时调用。
- onStop():当该Activity不再可见或不可用时调用。
- onDestroy():当该Activity被销毁前调用。
MainActivity的生命周期函数包括:
- onCreate():当该Activity被创建时调用。
- onStart():当该Activity可见且用户可以与之交互时调用。
- onResume():当该Activity成为前台活动并开始与用户进行交互时调用。
- onStop():当该Activity不再可见或不可用时调用。
- onRestart():当此Activity被系统销毁后重新启动时调用。
- onStart():当此Activity成为运行状态(即可见)并且当前Activity已经处于暂停状态时调用。
- onResume():当此Activity成为运行状态(即可见),并且当前Activity已经被暂停过,或者当前Activity是从stop状态变为运行状态的时候调用。
按返回菜单后,回到MainActivity的生命周期函数描述如下:
- MainActivity:onPause()
- MainActivity:onStop()
- 再回到原来的程序:
1. MainActivity:onRestart()
2. MainActivity:onStart()
3. MainActivity:onResume()
4. SecondActivity:onStop()
5. SecondActivity:onDestroy()