我有一个运行媒体播放器的应用,我想从我的应用主页 Activity 中恢复 Activity 。
我可以通过在 startActivity 调用中添加以下标志来成功地做到这一点:
myIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP);
我担心这不是一种理想的做事方式,因为我花了很长时间才找到它。这让我觉得没有人用得太多。
使用这种方法有什么陷阱吗?
最佳答案
我知道这个问题已经很老了,可能你已经解决了你的问题,并且可能在那些年里被带到火星并返回。但只是为了让来到这里并寻找解释的人们清楚:
If set, the activity will not be launched if it is already running at the top of the history stack.
A-B-C-D 的 BackStack 并且你已经启动
另一个 Intent 以 FLAG_ACTIVITY_CLEAR_TOP 开始 Activity A
在这一点上 android 将要做的就是简单地清除所有
Activity A 顶部的 Activity ,意味着现在你的 BackStack 将
看起来像-> A (是的,就是这样,因为您已经清除了所有
Activity )。第三种场景,我们从同一个 BackStack A-B-C-D 开始,我们
将启动一个 Intent Starting Activity D
FLAG_ACTIVITY_SINGLE_TOP,现在我们的 BackStack 看起来像->
A-B-C-D(是的,BackStack 保持相同的顺序,因为我们的
FLAG 禁止启动 Same Activity 如果是 Current on Top
堆栈并在用户屏幕上显示。
最后一个场景,我们从相同的 BackStack A-B-C-D 开始,我们将
启动一个 Intent Starting Activity D 但这次没有 FLAGS,
现在我们的 BackStack 看起来像-> A-B-C-D-D.
Got it?
FLAG_ACTIVITY_SINGLE_TOPis only useful When you are starting the Same Activity Which is Currently Showing On the Screen and You want to prohibit the launch new Instance of the Existing Activity.
关于Android Intent.FLAG_ACTIVITY_SINGLE_TOP 和 Intent.FLAG_ACTIVITY_CLEAR_TOP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3217942/
首先,这是我的版本:Greg-Nowickis-MacBook-Pro:sample_appGreg_Nowicki$ruby-vruby2.0.0p451(2014-02-24revision45167)[x86_64-darwin13.1.0]Greg-Nowickis-MacBook-Pro:sample_appGreg_Nowicki$rails-vRails4.0.4我正在学习HartlRails教程并安装rspec进行测试。我已将gem'rspec-rails'添加到我的gemfile中,当我运行railsgeneraterspec:install时,这就是我得到的:Gre
我在我的RubyonRails应用程序中使用ActiveRecord::Store模块时遇到了一个奇怪的问题。据我了解,该模块在后台使用“序列化”方法,因此它只是使用ruby内置的psychgem将您的数据序列化为yaml格式。大多数时候它工作正常,但有时我会收到500错误并显示以下消息:LoadError(cannotloadsuchfile--enc/trans/single_byte):~/.rbenv/versions/1.9.3-p286/lib/ruby/1.9.1/psych/visitors/emitter.rb:27:in`write'~/.rbenv/versi
我目前一直在研究如何根据我们想要的每个条件来分离CanCan的角色。在我们的应用程序中,有很多类别(例如数学、英语、历史等),每个类别中都有很多类(class)。每个用户可以在每个类别中扮演许多不同的角色。例如,约翰可以是数学的“读者”,这意味着他可以阅读所有数学类(class)。约翰也可以是英语的“作家”,这意味着他可以阅读所有英语类(class),在类别英语中创建类(class),并仅编辑/删除他创建的英语类(class)。如果这些是John仅有的角色,他将无法在导航栏中看到类别历史记录,并且将被拒绝访问历史记录中的类(class)。这些是关系的建立方式:classUser在mod
这篇文章网络结构ESRT(EfficientSuper-ResolutionTransformer)还是蛮复杂的,是一个CNN和Transformer结合的结构。文章提出了一个高效SRTransformer结构,是一个轻量级的Transformer。作者考虑到图像超分中一张图像内相似的细节部分可以作为参考补充,(类似于基于参考图像Ref的超分),于是引入了Transformer,可以在图像中建模一种长期依赖关系。而ViT这些方法计算量太大,太占内存,于是提出了这个轻量版的Transformer结构(ET)ET只使用了transformer中的encoder,并且作者还使用了featurespi
目录1.首先,需要一个副屏1.1可以通过代码的形式自己创建VirtualDispaly,创建副屏。1.2或者,在手机的开发者模式中直接开启模拟副屏,也是可以的。2.0怎么利用这个副屏幕?2.1 用作presentation演示ppt:2.2克隆主屏幕的内容,就是主屏幕显示什么,副屏显示同样的内容,镜像模式。2.3 将一个activity从第二个屏幕上启动,作为一个独立的屏幕首先说明一下这个多屏幕的概念,这里不是指分屏显示。分屏显示:是一个屏幕分出多个窗口,分别显示不同app.多屏支持:是一个设备有多个屏幕,怎么让不同的屏幕显示不同的app,或者是一个app同时用两个屏幕来显示不同的页面内容。多
在Ruby1.9.2堆栈跟踪中,我经常看到给出的方法为,如下面的堆栈部分所示。这是什么意思?我的Ruby安装有什么问题吗?Couldnotfindabstract-1.0.0inanyofthesources/usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.13/lib/bundler/spec_set.rb:87:in`blockinmaterialize'/usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.13/lib/bundler/spec_set.rb:81:in`map!'/usr/l
我在微博模型上创建了一个方法,它接受一个user_id数组。在此方法中,我使用以下“查找”方法来提取数组中所有用户的所有帖子。find(:all,:conditions=>["user_idIN(?)",args.join(',')])但是当ActiveRecord为这个查询生成SQL时,它用单引号将逗号分隔的ID列表括起来。这会导致查询只提取单引号内第一个数字的帖子,而不是所有数字。SELECT`microposts`.*FROM`microposts`WHERE(user_idIN('3,4,5'))ORDERBYmicroposts.created_atDESC查询应该看起来像这
使用nodev.0.10.29,Expressv4.12.0和xmldomv0.1.19,我正在尝试执行以下操作:步骤将XML文件读入字符串使用xmldom将字符串转换为XML对象设置default字段到test将XML对象转换回字符串问题问题是在我设置之后字段,它在对象中正确设置,但是当我将它转换为字符串时,字段恢复为旧值(错误)。代码代码如下所示:varfs=require('fs');varDOMParser=require('xmldom').DOMParser;varXMLSerializer=require('xmldom').XMLSerializer;varfilena
我具有以下页面结构:Label1Label2............这是过于简单的View:varMyView=Backbone.View.extend({el:$('.listOfPosts'),initialize:function(){_.bindAll(this,"postClicked");},events:{"click.wcCheckbox":"postClicked"},postClicked:function(){alert("Gotaaclickinthebackbone!");}});问题:我想知道被点击的帖子的数据ID。使用简单的JQuery,我可以执行以下操作
首先,这不是固定顶部导航的bodypadding-top问题。body{padding-top:40px;}我有一个导航栏,无论好坏,它都有很多数据/信息。我遇到的问题是,当导航栏分成多行时(这很好)它与内容重叠(不好)。以下是我所见/所经历的示例。http://jsfiddle.net/jsuggs/ZaMs3/7/有没有人有聪明的javascript解决方案来更改正文填充或在导航栏分成多行时强制折叠的方法?更新这是我最终使用的。我不得不添加一些额外的填充并组合加载和调整大小事件。$(window).on('loadresize',function(){$('body').css({