Andriod getContext和getActivity
原创文章,如有转载,请注明出处:http://blog.csdn.net/myth13141314/article/details/62045162
MainActivity.this:表示MainActivity对象,一般用在内部类中指示外面的this,如果在内部类直接用this,指示的是内部类本身。因为MainActivity继承Activity,而Activity继承Context,所以它也可以用来提供Activity Contex;
this:表示当前对象;一般而言,在哪个类中调用,就是指向该对象。
getContext():这个是View类中提供的方法,在继承了View的类中才可以调用,返回的是当前View运行在哪个Activity Context中。
getActivity():获得Fragment依附的Activity对象。Fragment里边的getActivity()不推荐使用原因如下:这个方法会返回当前Fragment所附加的Activity,当Fragment生命周期结束并销毁时,getActivity()返回的是null,所以在使用时要注意判断null或者捕获空指针异常。
在Fragment中获取上下文Context一般用getActivity:
全局Application:
public class Application extends Application {private static Application instance;@Overridepublic void onCreate() {super.onCreate();instance = this;}public static Application getInstance(){return instance;}}在Fragment中直接使用getContext方法容易产生空指针异常,覆写getContext方法
private Activity activity;public Context getContext() {activity = getActivity();if (activity == null) {return HSApplication.getInstance();}return activity;
}
dialog的Context不能用全局Application
欢迎关注我的公众号,和我一起每天进步一点点!
Andriod getContext和getActivity相关推荐
- 关于this、getContext()、getActivity()、getApplication()、getApplicationContext()的区别
转载请注明出处:关于this.getContext().getActivity().getApplication().getApplicationContext()的区别_getactivity 判断 ...
- getcontext方法 getactivity方法的区别
MainActivity.this:表示MainActivity对象,一般用在内部类中指示外面的this,如果在内部类直接用this,指示的是内部类本身.因为MainActivity继承Activit ...
- 安卓中为了获取context的方法和区别(getContext,getActivity,this,mainActivity.this等)
最近在着手做项目的时候,发现在需要context的时候,不同的类或者位置中需要用不同的方法聊火气context对象.在百度谷歌查找资料以及问周围的大神之后,总结了大概如下的内容: 1.MainActi ...
- Android 轻松实现仿淘宝地区选择
代码地址如下: http://www.demodashi.com/demo/11122.html 一.准备工作 Android开发环境,学习Android的童鞋肯定都知道了,这里我就不累述了. 二.运 ...
- 第七章:Paging添加header和footer
paging使用:https://huangxiaoguo.blog.csdn.net/article/details/106567399 效果 封装可添加Header和Footer的BaseAdap ...
- Android studio 安卓开发常见问题(个人笔记系列)
Android studio安卓开发常见问题 注:个人笔记就是没有大纲.没有目录.没有结构,纯属本人笔记用. 正文 1.建议为控件绑定监听器而不是用XML的onClick属性来实现一个方法. 2.匿名 ...
- Android中实现QQ聊天支付宝支付(非集成)
QQ 1.首先得开通QQ推广点击进入,因为你没有QQ推广,别人点击可以弹出到与你的联系界面,但不能和你聊天,提示是您还没有加对方为好友,请添加好友. 代码: //添加好友String url = &q ...
- Java实现客户端组件间的通信
EventBus可以进行发布-订阅消息,使用它可以实现组件之间的通信.本文主要介绍:"导入EventBus依赖"."组件注册EventBus"."组件 ...
- getActivity()和getContext()的介绍
getActivity()和getContext()的介绍 两个的主要用途: 都可以用来获取上下文对象. 1.getActivity()的介绍 getActivity(),一般在fragment中使用 ...
最新文章
- npoi 所有列调整为一页_必能用到,一页PPT中想放超多图片怎么办?
- 禁用浏览器缓存Ajax请求
- git push -u origin master 上传出错问题
- [代码示例]用Fine Uploader+ASP.NET MVC实现ajax文件上传
- 编译vo-aacenc遇到的问题
- JavaScript变量作用域如何像多个级别的政府一样
- 【Spring】Spring Bean 定义继承
- consul命令行查看服务_Go语言微服务架构实战:第十三节 微服务管理--Docker安装及运行consul节点...
- caffe linux下面的调试mnist遇到的问题
- 对集成电路的认识以及集成电路的重要性
- 树莓派智能小车c语言代码,树莓派智能小车开发详解
- 怎样查询网站关键字的排名
- proxmox的安装及配置
- 电力电子技术第二章总结
- 剑指 Offer合并两个排序的链表
- 无人驾驶(目前的自动驾驶方案)
- 实习时候的亚子==(四)
- arcgis 栅格计算器,img叠加运算,con函数,img转txt
- 【NodeJs篇】npm和包
- WordPress配置SMTP发送电子邮件(QQ邮箱)