zoukankan      html  css  js  c++  java
  • 全局获取Conrtext

    每一个活动都是Context的对象,当在普通类中用到Context时(如弹出Toast、启动活动、发送广播等)该如何获取呢?

    解决方法:Android提供了一个Application类,在应用程序启动时,系统会自动对该类进行初始化。为了管理程序内全局的状态信息如全局Context,可以定制自己的Application类。

    1、创建自己的Application类

     1 public class MyApplication extends Application {
     2     private static Context context;
     3 
     4     @Override
     5     public void onCreate() {
     6         super.onCreate();
     7         context = getApplicationContext();
     8     }
     9     public static Context getContext(){
    10         return context;
    11     }
    12 }

    2、让系统启动时初始化自己的Application类,在AndroidMainfest.xml文件中<application>标签中进行指定

    <application
            android:name=".MyApplication"//最好加上完整的包名,不然系统找不到该类
    </application>

    3、测试:在一个工具类中使用该类,成功显示Toast

    //测试MyApplication
            Toast.makeText(MyApplication.getContext(),"MyApplication is working!",Toast.LENGTH_SHORT).show();

    4、没有一个项目只能配置一个Application,如果需创建多个Application,在MyApplication中的onCreat()方法中对其他Application类初始化即可。如图:

     5、笔记来源:第一行代码(13章全局获取Context的技巧)

  • 相关阅读:
    python
    突然萌发关于 redis 的想法(1)
    Liunx
    Git
    说一下数据库查询 和 分页问题的解决
    易忘点
    python
    python
    python
    python
  • 原文地址:https://www.cnblogs.com/cydqqq/p/11205708.html
Copyright © 2011-2022 走看看