我有一个库项目说“SampleLibrary”,它只有java文件,并且没有任何活动。我在我的应用程序中使用此库说“Sample”。我在“样本库”中有如下方法。
public boolean load(String filePathName )
{
String Work;
Work = GetString( "Sample", No , "", filePathName );
if( 0 == Work.length())
{
Work = GetString( "サンプル", No, "", filePathName);
}
}
现在我想自定义此代码以从String.xml或其他方式获取字符串值。要使用getString(R.String.sample),我需要一个上下文。但我的图书馆里没有任何活动。
任何一个,请帮我怎么做?
答案 0 :(得分:0)
创建Application的子类并在android:name
<application>
标记的AndroidManifest.xml
属性
android:name=".MyApplication"
申请类
public class MyApplication extends Application{
private static Context mContext;
@Override
public void onCreate() {
super.onCreate();
mContext = this;
}
public static Context getContext(){
return mContext;
}
}
现在,在您的班级中,您可以使用这样的应用程序上下文。
MyApplication.getContext().getResources()
答案 1 :(得分:0)
唯一合理的解决方案是提供一个简单的init方法,将Context作为参数。无法从静态上下文访问资源。您不能使用Application,也不能将您的代码包含在库中。