从0系统学Android-2.3使用 Intent 在 Activity 之间穿梭
2.3 使用 Intent 在 Activity 之间穿梭
在上一节中我们已经学会了如何创建一个 Activity 了。对于一个应用程序来说,肯定不可能只有一个 Activity。下面就来学习多个 Activity 是专门跳转的。
2.3.1 使用显式 Intent
对于创建 Activity 的过程我们已经很熟悉了,下面快速的创建第二个 Activity。取名 SecondActivity
。好了第二个 Activity 已经创建好了,创建好了 Activity 后不要忘了需要在 AndroidManifest.xml
中注册。由于 Android Studio 已经默认给我们注册了,就不需要了,这个 Activity 也不是主 Activity 也就不需要配置 <intent-filter>
了。
下面就是如何启动这第二个 Activity 了,这个时候就需要 Intent
这个类了。
Intent
闪亮登场! Intent
是 Android 应用程序中各个组件进行交互的一个重要的方式。可以通过它指明当前组件想要执行的动作,还可以在不同的组件之间传递数据。 Intent 一般可以用于启动 Activity、Service、发送广播。后面两个我们现在还没有学习到,先看启动 Activity。
Intent 大致可分为:显式 Intent 和 隐式 Intent 。先来看显示 Intent 的使用。
Intent 有多个构造函数重载,其中一个是 Intent(Context context,Class<?> cls)
。这个方法有两个参数,第一个就是上下文,就是启动 Activity 的上下文,第二个是想要启动的目标 Activity 的 Class。如何使用?Activity 类给我们提供了一个方法startActivity()
方法,传入 Intent,就可以启动目标 Activity 了。
bt.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view){
Toast.makeText(MainActivity.this,"显示内容",Toast.LENGTH_SHORT).show();
// 添加如下代码,启动 SecondActivity
Intent intent = new Intent(MainActivity.this,SecondActivity.class);
startActivity(intent);
}
});
首先传入了 MainActivity
这个上下文,传入 SecondActivity.class
作为要启动的 Activity。这样 "意图" 就非常明显了。完成了 SecondActivity 的启动。
使用这种方式来启动一个 Activity 的『意图』非常明显了,这就是 显式 Intent。
最新文章
- 进军swift
- sdut 487-3279【哈希查找,sscanf ,map】
- 数据结构-bubble sort
- CSS之transition(动画)
- hdu 1175 连连看 DFS
- linux 本机内核模块
- EffectiveC++ 第2章 构造/析构/赋值运算
- PO1068 Parencodings 模拟题
- nginx.conf配置文件详解
- Excel 数据读入到DataSet
- MikroTik RouterOS 5.x使用HunterTik 2.3.1进行破解
- 怎样让HTML 表格中内容自动换行??
- 业余时间正在开发一个REACT小视频站点
- 投行的码工 Dead-end job
- 理解BSTR数据类型 神奇的BSTR
- MyBatis 学习记录3 MapperMethod类
- WPF的布局--StackPanel
- Qt——QScrollArea
- linux查看文件相关指令
- [设计模式]State模式
热门文章
- DIXML(包括所有的W3C XML标准)
- Raknet是一个基于UDP网络传输协议的C++网络库(还有一些其它库,比如nanomsg,fastsocket等等)
- 前端工程师应该都了解的16个最受欢迎的CSS框架
- InnoExtractor可以解压一些安装文件,以获得其中的特殊文件
- QTcpSocket 对连接服务器中断的不同情况进行判定
- python常用点小记
- win10 下的YOLOv3 训练 wider_face 数据集检测人脸
- 第四章 .net core做一个简单的登录
- python 之 面向对象基础(定义类、创建对象,名称空间)
- uint16,uint32是什么?