1、Intent封装

  1. public class IntentHelper {
  2. private Intent intent;
  3. private static IntentHelper intentHelper;
  4. private IntentHelper(){
  5. intent = new Intent();
  6. }
  7. public static IntentHelper getInstance(){
  8. if(intentHelper == null){
  9. intentHelper = new IntentHelper();
  10. }
  11. return intentHelper;
  12. }
  13. public Intent getIntent(Context packageContext, Class<?> cls){
  14. intent.setClass(packageContext, cls);
  15. return intent;
  16. }
  17. public Intent getIntentClearPreActivity(Context packageContext, Class<?> cls){
  18. Intent intent = new Intent();
  19. intent.setClass(packageContext, cls);
  20. intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
  21. return intent;
  22. }
  23. public Intent getNewIntent(Context packageContext, Class<?> cls){
  24. Intent intentNew = new Intent();
  25. intentNew.setClass(packageContext, cls);
  26. return intentNew;
  27. }
  28. }

2、Activity的两种启动模式:

  1. FLAG.ACTIVITY_CLEAR_TOP
  2. FLAG_ACTIVITY_REORDER_TO_FRONT

如果已经启动了四个Activity:A,B,C,D 在D Activity里,我们要跳转到B Activity,同时希望C finish掉,可以在startActivity(intent)里的intent里添加flags标记

  1. Intent intent = new Intent(this, B.class);
  2. intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
  3. startActivity(intent);

这样启动B Activity,就会把D,C都finished掉,如果你的B Activity的启动模式是默认的(multiple),则B Activity会finished掉,再启动一个新的Activity B。如果不想重新再创建一个新的B Activity,则在上面的代码里再加上

  1. intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);

3、bundle传值

  1. Intent intent = new Intent();
  2. Bundle bundle = new Bundle();
  3. bundle.putString("Tag", "mapView");
  4. intent.setClass(A.this, B.class);
  5. intent.putExtras(bundle);
  6. startActivity(intent);
  1. bundle = this.getIntent().getExtras();
  2. bundle.getString("Tag");

转载于:https://blog.51cto.com/emilyzhou/982424

Intent、Bundle相关推荐

  1. android 数据传递详解(Serialization、Parcelable、Parcel、Intent、Bundle)

    第一.四大组件间数据传递方式: 启动四大组件通过Intent对象来实现,Intent的功能包括启动四大组件以及相关信息+传递数据. 其中传递数据Intent提供了putExtra和对应的getExtr ...

  2. Android安全笔记-进程间通信基本概念(intent、bundle、Parcelable、parcel)

    进程间通信 进程间传递消息: 例如启动一个Activity,在Intent中设置传递参数及其他数据(字符串.整数.数组.对象) ·intent.putExtra 消息组织和传递:Intent.Bund ...

  3. Android四大组件之Activity(intent、ActivityThread)

    Activity 在Android的程序当中,Activity 一般代表手机屏幕的一屏.如果把手机比作一个浏览器,那么Activity就相当于一个网页.在Activity 当中可以添加一些Button ...

  4. Oracle8i 到Oracle 12c的2014年最新PSU、Bundle Patch、SPU信息

    Quick Reference to Patch Numbers for Database PSU, SPU(CPU), Bundle Patches and Patchsets (文档 ID 145 ...

  5. java intent bundle_Android 通过Intent使用Bundle传递对象详细介绍

    Android 通过Intent使用Bundle传递对象 Android开发中有时需要在应用中或进程间传递对象,下面详细介绍Intent使用Bundle传递对象的方法. 被传递的对象需要先实现序列化, ...

  6. Android中Activity之间的数据传递(Intent和Bundle)

    当一个Activity启动另一个Activity时,常常会有一些数据传过去,对于Activity之间的数据交换更简单,因为两个Activity之间进行数据传递交换更简单,因为两个Activity之间本 ...

  7. Android用Intent和Bundle传list

    Intent intent = new Intent(); Bundle bundle = new Bundle(); ArrayList list = new ArrayList();//这个arr ...

  8. Intent和Bundle的区别

    安卓 Intent (1)数据传递 Intent和Bundle详解 这几天在写android小程序的时候碰到了bundle,突然发现还不清楚intent和bundle之间的关系,决定百度google之 ...

  9. 【发际线大作战】AndroidStudio使用Intent和ListView开发书签(spinner、intent、setOnItemLongClickListener、SimpleAdapter)

    要求 完成如下图所示的Android应用程序,相当于一个网站的导航页面.一开始Activity中没有数据,通过选项菜单的"添加"选项,跳转到一个新页面,在此页面中,可以选择或输入网 ...

最新文章

  1. 自定义带进度条的WebView , 增加获取web标题和url 回掉
  2. IOS修改webView背景透明以及IOS调用前台js的方法
  3. 在项目中配置PageHelper插件时遇到类型转换异常
  4. html title 不显示_SEO入门教程二:学习最基础的html代码知识
  5. Django之Django debug toolbar调试工具
  6. 双十一淘宝天猫突破2000亿元大关,马云是如何布局战略规划?
  7. 中职计算机专业考试时间,中职学业水平考试时间表出炉!这些不得不提前知晓...
  8. unipus iTEST考试助手---写脚本与反脚本的拉锯战
  9. python实现链表的删除_手把手教你43行代码写红黑树(包括删除操作)
  10. 《匆匆那年》的你,还记得吗?数学中的那些有(hui)趣(se)的定理(11)——XXX定理
  11. ssh允许root账号登陆
  12. 华氏温度转换为摄氏温度(C语言)
  13. bitmap的六种压缩方式,Android图片压缩
  14. Nvidia TX2 Ubuntu18.04 安装 IntelRealsense L515 realsense SDK 及 Realsense ROS (make各种问题解答,一篇到位版本)
  15. 1032 挖掘机技术哪家强 (20 分)(测试点分析)
  16. c语言遍历 json字符串,全面详解c语言使用cJSON解析JSON字符
  17. 全自动细菌菌落计数器
  18. R语言小白学习笔记12—概率分布
  19. 【Python3爬虫】你会怎么评价复仇者联盟4?
  20. 【STC单片机学习】第十三课:串口通信和RS485

热门文章

  1. C++_泛型编程与标准库(十)——set与map
  2. matlab偏导符号怎么打,matlab 如何输入导数
  3. java程序设计输入输出实验_20145320《Java程序设计》第五次实验报告
  4. 服务器安全性文档,Microsoft Web服务器的安全性
  5. 计算机基础在小学的教学论文,小学基础教育论文范文
  6. postgresql select for update 多行加锁顺序_insert into select加锁规则补充
  7. python相关性分析特征过滤_特征选择-Filter过滤法后续(相关,互信息法)
  8. json数据解析_VBA 实践指南 -- Split函数解析Json数据
  9. 交叉验证的意义和目的_干货:详解原料药的工艺验证
  10. python列表解析式_Python基础入门-列表解析式