Intent的FLAG_ACTIVITY_CLEAR_TOP和FLAG_ACTIVITY_REORDER_TO_FRONT

Intent的FLAG_ACTIVITY_CLEAR_TOP和FLAG_ACTIVITY_REORDER_TO_FRONTIntent的FLAG_ACTIVITY_CLEAR_TOP和FLAG_ACTIVITY_REORDER_TO_FRONT

大家好,又见面了,我是你们的朋友全栈君。

Activity的两种启动模式:FLAG_ACTIVITY_CLEAR_TOP和FLAG_ACTIVITY_REORDER_TO_FRONT

1. 如果已经启动了四个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);   

 这样B Activity就会再创建一个新的了,而是会重用之前的B Activity,同时调用B Activity的onNewIntent()方法。

 

2. 如果已经启动了四个Activity:A,B,C和D,在D Activity里,想再启动一个Actvity B,但不变成A,B,C,D,B,而是希望是A,C,D,B,则可以像下面写代码:

  1. Intent intent = new Intent(this, MainActivity.class);  
  2. intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);   
  3. startActivity(intent); 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/154751.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 利用matlab画图(r语言能画出哪些图)

    clearallcloseallloadyi.txta=yi;b={‘北京”天津”石家庄”唐山”秦皇岛”太原”呼和浩特”包头’…’沈阳”大连”丹东”锦州”长春”吉林’…

    2022年4月17日
    38
  • goland激活码【永久激活】

    (goland激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html83…

    2022年3月22日
    85
  • idea2021.12 激活_最新在线免费激活

    (idea2021.12 激活)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月30日
    74
  • Python 从菜鸟到大咖的必经之路「建议收藏」

    目录一、模块和包1.1模块的基础知识1.2模块的导入1.3使用第三方模块1.4包二、文件和目录操作2.1open()函数——打开文件并返回文件对象2.2文件操作的常用方法2.3应用三、面向对象3.1面向对象基础语法3.2初始化方法__init__3.3属性查找与绑定方法3.4案例3.4.1跑步案例3.4.2家具案例3.5私有属性3.6继承3.6.1面向对象的三大特性3.6.2单继承3.6.2.1继承的概念3.6.2.2继承的语法3.6.2.3方法的重写3.6.2.4

    2022年4月11日
    43
  • pytorch tensorboard使用_铅球是什么体育X项目

    pytorch tensorboard使用_铅球是什么体育X项目目录什么是TensorboardX配置TensorboardX环境要求安装使用pip安装从源码安装使用TensorboardX一些tips什么是TensorboardXTensorboard是TensorFlow的一个附加工具,可以记录训练过程的数字、图像等内容,以方便研究人员观察神经网络训练过程。可是对于PyTorch等其他神经网络训练框架并没有功能像Tensorboard…

    2022年10月11日
    1
  • iptable 理解

    iptable 理解这个当初我理解不了,主要是没把netfilter理解清楚。Netfilter是集成在内核中的,用来定义存储各种规则的。Iptalbe是修改这些规则的工具,修改后存在netfilter里面。数据包进入LINUX服务器时,先进入服务器的netfilter模块中进行判断处理。 Netfilter包含有三种表,三种表下共包含有五种链,链下面包含各种规则。即表包含若干链,链包含若干规则。 …

    2022年5月28日
    97

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号