原创文章,如有转载,请注明出处: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相关推荐

  1. 关于this、getContext()、getActivity()、getApplication()、getApplicationContext()的区别

    转载请注明出处:关于this.getContext().getActivity().getApplication().getApplicationContext()的区别_getactivity 判断 ...

  2. getcontext方法 getactivity方法的区别

    MainActivity.this:表示MainActivity对象,一般用在内部类中指示外面的this,如果在内部类直接用this,指示的是内部类本身.因为MainActivity继承Activit ...

  3. 安卓中为了获取context的方法和区别(getContext,getActivity,this,mainActivity.this等)

    最近在着手做项目的时候,发现在需要context的时候,不同的类或者位置中需要用不同的方法聊火气context对象.在百度谷歌查找资料以及问周围的大神之后,总结了大概如下的内容: 1.MainActi ...

  4. Android 轻松实现仿淘宝地区选择

    代码地址如下: http://www.demodashi.com/demo/11122.html 一.准备工作 Android开发环境,学习Android的童鞋肯定都知道了,这里我就不累述了. 二.运 ...

  5. 第七章:Paging添加header和footer

    paging使用:https://huangxiaoguo.blog.csdn.net/article/details/106567399 效果 封装可添加Header和Footer的BaseAdap ...

  6. Android studio 安卓开发常见问题(个人笔记系列)

    Android studio安卓开发常见问题 注:个人笔记就是没有大纲.没有目录.没有结构,纯属本人笔记用. 正文 1.建议为控件绑定监听器而不是用XML的onClick属性来实现一个方法. 2.匿名 ...

  7. Android中实现QQ聊天支付宝支付(非集成)

    QQ 1.首先得开通QQ推广点击进入,因为你没有QQ推广,别人点击可以弹出到与你的联系界面,但不能和你聊天,提示是您还没有加对方为好友,请添加好友. 代码: //添加好友String url = &q ...

  8. Java实现客户端组件间的通信

    EventBus可以进行发布-订阅消息,使用它可以实现组件之间的通信.本文主要介绍:"导入EventBus依赖"."组件注册EventBus"."组件 ...

  9. getActivity()和getContext()的介绍

    getActivity()和getContext()的介绍 两个的主要用途: 都可以用来获取上下文对象. 1.getActivity()的介绍 getActivity(),一般在fragment中使用 ...

最新文章

  1. npoi 所有列调整为一页_必能用到,一页PPT中想放超多图片怎么办?
  2. 禁用浏览器缓存Ajax请求
  3. git push -u origin master 上传出错问题
  4. [代码示例]用Fine Uploader+ASP.NET MVC实现ajax文件上传
  5. 编译vo-aacenc遇到的问题
  6. JavaScript变量作用域如何像多个级别的政府一样
  7. 【Spring】Spring Bean 定义继承
  8. consul命令行查看服务_Go语言微服务架构实战:第十三节 微服务管理--Docker安装及运行consul节点...
  9. caffe linux下面的调试mnist遇到的问题
  10. 对集成电路的认识以及集成电路的重要性
  11. 树莓派智能小车c语言代码,树莓派智能小车开发详解
  12. 怎样查询网站关键字的排名
  13. proxmox的安装及配置
  14. 电力电子技术第二章总结
  15. 剑指 Offer合并两个排序的链表
  16. 无人驾驶(目前的自动驾驶方案)
  17. 实习时候的亚子==(四)
  18. arcgis 栅格计算器,img叠加运算,con函数,img转txt
  19. 【NodeJs篇】npm和包
  20. WordPress配置SMTP发送电子邮件(QQ邮箱)

热门文章

  1. Python系列 49 内置模块:subprocess
  2. 数学之美:维特比和维特比算法
  3. 2022年全国最新消防设施操作员模拟试题题库及答案
  4. XAMPP介绍、安装及使用
  5. 罗塞塔石碑1141问题
  6. 直连的不同网段的两台主机如何通信
  7. P2770【USACO 2014 January Gold】难度系数
  8. C++ 多种定义的getline函数使用
  9. hdu 1849 nim博弈
  10. 微信小程序setData注意事项,使用方法