zoukankan      html  css  js  c++  java
  • 如何在Fragment中获取context

    文章转载自http://blog.csdn.net/demonliuhui/article/details/51511136

    这里仅供自己学习参考;

    Context,中文直译为“上下文”,SDK中对其说明如下:
    1、它描述的是一个应用程序环境的信息,即上下文。
    2、该类是一个抽象(abstract class)类,Android提供了该抽象类的具体实现类(后面我们会讲到是ContextIml类)。
    3、通过它我们可以获取应用程序的资源和类,也包括一些应用级别操作,例如:启动一个Activity,发送广播,接受Intent信息等。

    各种context及区别:

    1.getApplicationContext() 返回在应用程序运行的所有活动中。
    2.Activity.this的context 返回当前activity的上下文
    3.getbasecontext() 返回由构造函数指定或setBaseContext()设置的上下文,如果你想从应用程序中的另一种情况下,您可以访问访问上下文。
    4.getContext() 返回上下文只查看当前运行的活动。
    区别:
    1.getApplicationContext() 生命周期是整个应用,应用摧毁它才摧毁Activity.this的context this.getContext(),属于activity ,activity 摧毁他就摧毁。
    2.Activity.this的context 拿到的是当前Activity的Context,而getApplicationContext()拿到的是Application的Context。

    使用

    1.在Activity中可以直接调用getApplicationContext(),Activity.this/context获取相应的context。

    2.在Fragment中的使用方式则为:
    1.getActivity();//获取包含该fragment的活动(activity)上下文
    2.getContext();//获取该fragment上下文
    3.getActivity().getApplicationContext();//通过包含该fragment的活动(activity)获取整个应用的上下文
    4.getContext().getApplicationContext();//通过该fragment获取整个应用的上下文

    (在非特殊情况下(如:内存泄漏),这四种方式都可以正常使用,并且效果相同。)

  • 相关阅读:
    20145215《Java程序设计》第4周学习总结
    20145215《Java程序设计》第3周学习总结
    20145215《Java程序设计》第2周学习总结
    关于开源中国的代码托管
    问卷调查
    2019年12月29日 回怼老王
    cnblogs今天挂了
    感悟别人的感悟——写在2020年前一天
    心情随笔_20191231
    js事件冒泡和捕捉
  • 原文地址:https://www.cnblogs.com/1925yiyi/p/7354255.html
Copyright © 2011-2022 走看看