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

最新文章

  1. 进军swift
  2. sdut 487-3279【哈希查找,sscanf ,map】
  3. 数据结构-bubble sort
  4. CSS之transition(动画)
  5. hdu 1175 连连看 DFS
  6. linux 本机内核模块
  7. EffectiveC++ 第2章 构造/析构/赋值运算
  8. PO1068 Parencodings 模拟题
  9. nginx.conf配置文件详解
  10. Excel 数据读入到DataSet
  11. MikroTik RouterOS 5.x使用HunterTik 2.3.1进行破解
  12. 怎样让HTML 表格中内容自动换行??
  13. 业余时间正在开发一个REACT小视频站点
  14. 投行的码工 Dead-end job
  15. 理解BSTR数据类型 神奇的BSTR
  16. MyBatis 学习记录3 MapperMethod类
  17. WPF的布局--StackPanel
  18. Qt——QScrollArea
  19. linux查看文件相关指令
  20. [设计模式]State模式

热门文章

  1. DIXML(包括所有的W3C XML标准)
  2. Raknet是一个基于UDP网络传输协议的C++网络库(还有一些其它库,比如nanomsg,fastsocket等等)
  3. 前端工程师应该都了解的16个最受欢迎的CSS框架
  4. InnoExtractor可以解压一些安装文件,以获得其中的特殊文件
  5. QTcpSocket 对连接服务器中断的不同情况进行判定
  6. python常用点小记
  7. win10 下的YOLOv3 训练 wider_face 数据集检测人脸
  8. 第四章 .net core做一个简单的登录
  9. python 之 面向对象基础(定义类、创建对象,名称空间)
  10. uint16,uint32是什么?