原创文章,如有转载,请注明出处: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. Reporting Service 告警w WARN: Thread pool pressure. Using current thread for a work item
  2. button和sumbit提交表单的区别
  3. 春节快到了,来写个烟花动效吧
  4. 苹果X可以升级5G吗_郭明錤:苹果5G手机明年推出 屏幕最大升级至6.7寸
  5. JarvisOJ Basic 熟悉的声音
  6. 不知道工作组名称怎样加入_黄瓜汁加入适量的蜂蜜功效竟然这么好!不看不知道,一看吓一跳!_人类...
  7. matlab怎么利用圆形度提取园,基于Matlab+GUI图像处理的物料粒度与圆形度测试.pdf...
  8. 小时光扫地机器人圆圆_小时光:圆圆录像功能已开启,无死角录制林一霸道总裁一面,超甜...
  9. Json.net说法——(四)序列化错误处理
  10. 《统计数据会说谎》阅读总结
  11. 手机端(移动端)UI框架整理
  12. 以太坊ETH(windows)配置
  13. canvas[ymin_valid:ymax_valid + 1, xmin_valid:xmax_valid + 1] = np.fmax
  14. Transfer Learning - Overview(详细讲解)
  15. 114页5万字智能交通大数据平台建设方案
  16. 给别人计算机office作业评语,Office操作题自动评分系统的总体评价
  17. Android开发教程--自定义接听/挂断电话功能
  18. 客户关系管理(CRM)外包的优势定制的CRM应用
  19. 为编程而生的字体(附网盘下载链接),Pycharm神器级插件 ^_^ 效率提升利器
  20. Linux安装部署docker habor私服

热门文章

  1. 电容的工作原理、分类选择与应用
  2. K8SPod详解之pod配置
  3. 通过apk签名使应用程序有系统权限
  4. selenium+python设置爬虫代理IP
  5. 《iPad开发从入门到精通》——6.3节站站查询
  6. 调用方法[manageApp]时发生异常 java.lang.IllegalStateException: 启动子级时出错
  7. fiddler抓app包获取不到HTTPS请求的2个解决方案
  8. java核心技术卷一_java核心技术卷一
  9. python找出列表中最长/短的字符串及他们的长度、下标
  10. Single shot object detection SSD using MobileNet and OpenCV