android在很多的地方都会用到Context变量,但是除了在Activity中,我们在别的地方都不是很好获取到。Android中有个Application类,每当系统开始启动的时候就会自动将这个类进行初始化,因此我们可以重写这个类,通过这个类来获取到全局Context变量。
java代码:
package com.example.viewpagerdemoprimary;
import android.app.Application;
import android.content.Context;
public class MyApplication extends Application {
private static Context context;
@Override
public void onCreate() {
context = getApplicationContext();
}
public static Context getContext() {
return context;
}
}
这里需要注意的是,我们还需要告知系统当程序启动的时候,应该初始化我们重写的这个MyApplication类,而不是默认Application类。因此我们需要在AndroidManifest.xml
文件中的<application>标签下进行指定,
<application
android:name="com.example.viewpagerdemoprimary.MyApplication">
注:这里指定的时候,需要写上完整的包名,不然系统找不到这个类。
这样我们在需要用到Context的时候,直接用MyApplication.getContext()调用就行了。