I want to read strings from an xml file before I do much of anything else like setText on widgets, so how can I do that without an activity object to call getResources() on?
Advertisement
Answer
- Create a subclass of
Application, for instancepublic class App extends Application { - Set the
android:nameattribute of your<application>tag in theAndroidManifest.xmlto point to your new class, e.g.android:name=".App" - In the
onCreate()method of your app instance, save your context (e.g.this) to a static field namedmContextand create a static method that returns this field, e.g.getContext():
This is how it should look:
public class App extends Application{
private static Context mContext;
@Override
public void onCreate() {
super.onCreate();
mContext = this;
}
public static Context getContext(){
return mContext;
}
}
Now you can use: App.getContext() whenever you want to get a context, and then getResources() (or App.getContext().getResources()).