• 全局获取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的技巧)

  • 相关阅读:
    Ubuntu16.04 配置SSH无密码登录
    Ubuntu16.04 配置SSH无密码登录
    Ubuntu 16.04 安装JDK
    Ubuntu 16.04 安装JDK
    8.1 mnist_soft,TensorFlow构建回归模型
    8.1 mnist_soft,TensorFlow构建回归模型
    Ubuntu16.04 安装Python开发环境
    Ubuntu16.04 安装Python开发环境
    HTML学习笔记(一) 基本介绍
    CSS学习笔记(五) 过渡与动画
  • 原文地址:https://www.cnblogs.com/cydqqq/p/11205708.html
Copyright © 2020-2023  润新知