在我的java类中,我想使用strings.xml中的字符串资源.
因为我必须使用如下,
getString(R.string.address)
Run Code Online (Sandbox Code Playgroud)
如果我的课程是一项活动,那么它的参与.但是我的类是一个简单的java类,我怎么能在那里使用?
可能吗?谢谢
Jyo*_*sna 41
类没有上下文,并且使用字符串资源需要上下文.因此,只需从活动中调用类并提供参数,context并在类构造函数中使用该上下文来获取字符串资源.
在您的自定义类中,您需要为项目导入R命名空间以获取资源ID.
import com.myrandomapp.R;
Run Code Online (Sandbox Code Playgroud)
然后得到实际的字符串
context.getString(R.string.COOL_STRING)
Run Code Online (Sandbox Code Playgroud)
Lal*_*ani 17
您可以将Activity类的上下文传递给java类并访问资源.
来自您的活动类
Helper helper = new Helper(this);
Run Code Online (Sandbox Code Playgroud)
你的Java类
public class Helper {
Helper(Context c){
c.getString(R.string.address);
}
}
Run Code Online (Sandbox Code Playgroud)
Dar*_*art 12
您可以Application Context在自定义Application类中创建静态
public class App extends Application{
private static Context mContext;
@Override
public void onCreate() {
super.onCreate();
mContext = getApplicationContext();
}
public static Context getContext(){
return mContext;
}
}
Run Code Online (Sandbox Code Playgroud)
然后你只需要调用App.getContext().getResources()以获取任何资源值.
请记住这Context是Application类型,因此有些东西Context不适合使用.阅读本文以获取更多信息.
| 归档时间: |
|
| 查看次数: |
40076 次 |
| 最近记录: |