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

守游网络推广平台seo内链优化

守游网络推广平台,seo内链优化,建网站需要什么技术,上海企业网站建设制平时的Android开发中,我们经常要在Fragment中去获取当前的Activity实例,刚开始的时候可能使用使用Fragment提供的getActivity方法来获取,但是这个方法可能返回null,为了让程序可以正常运行,项目中就出现大量下面这样的…

平时的Android开发中,我们经常要在Fragment中去获取当前的Activity实例,刚开始的时候可能使用使用Fragment提供的getActivity方法来获取,但是这个方法可能返回null,为了让程序可以正常运行,项目中就出现大量下面这样的代码:

FragmentActivity activity = getActivity();
if(activity == null){return;
}
//use activity

FragmentActivity activity = getActivity();
if(activity != null){//use activity
}

这个代码是安全的,但是多次编写就显得繁琐且可能出错(因为我觉得再简单的事只要重复非常多遍,出错的可能性就增加)。

本文分场景分别介绍几种优化的方式。

Activity一定存在的场合

首先是比较简单的Activity一定存在的场合,比如Fragment的onResumeonCreateDialog等方法中,这里Activity不可能为空,那么如果还要加if语句来检查Activity为空的情况,就显得很多余。这种情况下我们就可以利用requireActivity方法,这个方法的内部实现检查Activity不存在的时候会抛出异常,如果返回,一定不为空,这样就不需要再对返回值做检查:

FragmentActivity activity = requireActivity();
//use activity

Activity可能不存在的场合

Activity可能不存在的场合就分很多种,比如Fragment中另起线程、Presenter对Fragment的调用、其他组件比如播放器的回调等等,这种情况下一遍遍地去编写getActivity结果的检测,是一件很无聊的事情,但这个又是一件必要的事情,因为如果不做就会导致程序崩溃。因此,下面提出一种将这个过程简化的方法。

首先,自己项目中应该有类似BaseFragmentBaseDialogFragment这样的基础Fragment,我们要做的就是在这些类里添加一个optActivity方法,实现如下:

public Optional<FragmentActivity> optActivity() {return Optional.ofNullable(getActivity());
}

这样在各个Fragment子类中就可以直接使用optActivity来更加简洁地获取Activity实例:

optActivity().ifPresent(activity -> {//do something
});

看上去和原来的代码量差不多,但只要写一遍就能体会出来,这种新的写法要素更少,更不容易出错,写起来也更快,而且在有时候可以写得更简洁、更突出重点:

button.setOnClickListener(v -> optActivity().ifPresent(activity -> {//do something   
}));

这里的重点在于按钮点击后的处理,检查Activity是否存在没那么重要。

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

相关文章:

  • 网上书城网站开发方案北京搬家公司费用
  • 宁波江北区城市建设档案馆网站新手用什么程序建网站
  • 卢氏住房和城乡建设厅网站河北中凯建设有限公司网站
  • 专门做产品测评的网站市场营销论文3000字
  • 毕设做网站可能遇到的问题北欧风格装修效果图
  • 深圳做网站需要多少钱为什么浙江建设厅网站
  • 如何建单页网站栏目wordpress 主页设置
  • 怎样在华为云服务器里建设网站服务器如何搭建php网站
  • 个人网站备案信息西部数码网站模板
  • 网站建设费用预算中铁建设集团招标平台
  • 网站建设平台开发ps软件下载平板版
  • 不良网站正能量进入窗口婚庆策划公司的商业模式
  • 江津哪里找做网站的建设工程交易中心网站
  • 武昌网站建设 优帮云薛城网站建设
  • vc做网站建站收入
  • 网站需要的栏目国家城乡建设部投诉网站
  • 京东联盟如何做查优惠卷的网站青海省住房城乡建设厅网站首页
  • 网站开站常州网站建设设计
  • 云南酒店网站建设网站建设公司企业网站管理系统
  • 丰台手机网站建设开通公司网站怎么做分录
  • 徐州市城乡和住房建设局网站thinkphp 做门户网站
  • 企业网站的类型百度权重从1提升到2的办法
  • 网站建设合同制网站设计昆明
  • 佛山微网站建设 天博做的网站提示不安全问题
  • 中小型企业查询网址南宁关键词优化软件
  • 企业网站建站程序nginx优化wordpress网站速度
  • 吉林网站建设业务wordpress词典插件下载
  • dz网站如何搬家百度集团官网
  • 怎么给网站绑定域名个人信息查询系统官网
  • 域名制作网站吗腾讯企点下载手机版