当前位置: 首页 > news >正文

前端开发 网站建设企业门户定制网站建设公司

前端开发 网站建设,企业门户定制网站建设公司,还有哪些方法让网站更加利于seo,中国广告设计网站前几天看到hellogv的例子——“ActivityGroup实现Tab分页标签 ”,由于之前没有用过AcitivityGroup,例子代码不算太少,但看上去出现了ActivityGroup的地方就是:平常的主入口(Activity派生类)变成了继承ActivityGroup。所以看了一头…

        前几天看到hellogv的例子——“ActivityGroup实现Tab分页标签 ”,由于之前没有用过AcitivityGroup,例子代码不算太少,但看上去出现了ActivityGroup的地方就是:平常的主入口(Activity派生类)变成了继承ActivityGroup。所以看了一头雾水……

        其实,ActivityGroup是Activity的派生类(子类),所以具备了Activity的特性(包括平常所用的onCreate到onDestroy的整个生命周期),所以就是当Activity用也没有问题。不过,它的主要扩展功能是能够同时管理多个Activity。所以如果在某个界面(Activity)上需要来回切换多个不同或相同的Activity时,它是很好用的。

        曹文斌的“ActivityGroup是如何对嵌入的Activitys进行管理的 ”文章已经详细解释ActivityGroup与其管理的子Activity的关系,概括来说是:ActivityGroup委托LocalActivityManager对多个子Activity进行管理(子Activity都放到一个Map中,同时为了提高效率也放到一个数组ArrayList中),其中每个子Activity都对应唯一的标识,这个标识用作Map的key值。ActivityGroup使用下面的方式启动子Activity:

        其中, getLocalActivityManager()是ActivityGroup的方法,所以直接实例化一个ActivityGroup来调用这个方法也是可以的。通过该方法得到管理子Activity的委托LocalActivityManager实例,该实例使用startActivity(String id, Intent intent)方法启动子Activity。

 

        既然ActivityGroup管理着多个子Activity,如果原来没有子Activity运行,那不用说就是启动一个新的Activity来运行了;但如果当前已经有一个子Activity正在运行,此时再调用startActivity(String id, Intent intent),会发生些什么情况呢?情况分4种:

  1. 如果参数中的intent匹配到一个新的(即在Map中不存在的)Activity时,那就启动一个新的Activity,并把id作为key、新的Activity作为value放到Map中;新的Activity一般是指与Map中已经存在的Activity派生类不同的其它Activity的派生类。如果匹配到子Activity与当前运行的相同,则再分情况;
  2. 如果当前运行的子Activity不是以multiple模式启动或者设置了FLAG_ACTIVITY_SINGLE_TOP属性时,当前运行的子Activity继续运行(而不是结束掉),并调用Activity#onNewIntent(Intent)方法,这个会体现在onResume()中(即之后调用onResume);生命周期为:onCreate -> onStart -> onResume -> onPause -> onNewIntent -> onResume -> onPause -> onNewIntent -> ......
  3. 如果新请求中的Intent与当前运行的子Activity的Intent内容一样(extras除外),且新请求中的Intent没有设置FLAG_ACTIVITY_CLEAR_TOP属性,则当前运行的子activity会继续运行(跟当前一样),也不会调用onNewIntent、onResume;
  4. 其它情况(如设置了FLAG_ACTIVITY_CLEAR_TOP属性),则先把当前的子Activity结束掉,然后启动新的Activity(这新旧两个子Activity类名同一个)。

        hellogv的例子中,子Activity只有一种SubActivity,如果Intent设置了FLAG_ACTIVITY_CLEAR_TOP属性,则每次切换时都会先把当前的SubActivity结束掉,然后再启动一个新的SubActivity;如果没有设置FLAG_ACTIVITY_CLEAR_TOP属性,则当前的SubActivity继续运行,此时如果Activity是非multiple模式或Intent设置了FLAG_ACTIVITY_SINGLE_TOP属性则可以看到生命周期的变化,否则就好像什么都没有发生。

http://www.yayakq.cn/news/341964/

相关文章:

  • 怎么投诉网站制作公司百度推广账户优化
  • 官方网站下载安装qq常州网络科技有限公司
  • 网站怎么做中英文交互做网站需要什么学历
  • 动易网站论坛建设项目验收在哪个网站公示
  • 帝国cms如何做微网站湖南网站建设哪里好
  • 怎么找网站建设微信公众号怎么用
  • 学校网站建设钉钉网站设计论文总结与展望
  • 优惠券网站怎么做蓝色科技网站建设
  • 权重域名做网站有用么哪个网站的理财频道做的比较好
  • 众筹网站平台建设网站网站开发设计
  • wordpress 4.9.1模板惠州抖音seo
  • 自己怎么做优惠卷网站平面设计常用的软件
  • 免费户型设计网站路边社 wordpress
  • 林州市网站建设wordpress主页图片不显示图片
  • 衡阳建设企业网站同步修改 wordpress
  • 网站推广的方法有sem推广单位建设一个网站的费用
  • 360网站推广登录金华建设网站
  • 网站制作图书潮州vi设计公司
  • wordpress建站过时了优设设计师网站
  • dedecms英文外贸网站企业模板下载百度霸屏培训
  • 网站制作交易流程深圳高端婚介公司
  • 稳定的网站服务器租用佛山推广seo排名
  • 手机百度网盘登录入口百度刷排名优化软件
  • iapp网站做软件云盘网页版登录
  • h5模板网站有哪些uncode wordpress主题
  • 如何禁止通过ip访问网站网站开发有前途
  • 中学生网站源码昆明优化公司
  • 网站开发背景 目的河南政务网站建设排名
  • 稿定设计网站官网找建站公司
  • 实验室网站建设方案做商城网站要哪些流程图