我发布这个问题,希望能得到某种明确的答案.
没有活动或上下文引用是否真的无法访问资源.当所有需要的是访问某些值或资产或与UI无关的字符串时,传递这些引用会导致过于复杂的代码.
加上所有那些潜在的悬挂参考.
此外,这完全破坏了各种设计模式,例如单身,在获取实例时必须提供参数.
提出静态参考
那么有一种方式或整个社区是否只是忍受这个问题.
解决方法:
您的资源捆绑到一个上下文,这是事实,你不能改变它.
这是你可以做的:
扩展应用程序,获取应用程序上下文并将其用作静态帮助程序.
public class App extends Application {
private static Context mContext;
public static Resources getResources() {
return mContext.getResources();
}
public void onCreate() {
super.onCreate();
mContext = getApplicationContext();
}
}
你的清单:
<application
android:icon="@drawable/icon"
android:label="@string/app_name"
android:name="your.package.path.to.App">