gpt4 book ai didi

android - 有没有一种明智的方法来引用静态初始化程序中的应用程序资源(R.string ...)

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:38:30 24 4
gpt4 key购买 nike

是否有一种明智、干净的方法来从我的 android 类中的静态初始化程序代码引用应用程序资源。

我特别想定义一个枚举,它的常量中包含一些资源字符串的值。

这是枚举的一些伪代码

private enum MyEnum {
Const1(getString(R.string.string1)),
Const2(getString(R.string.string2)),
Const3(getString(R.string.string3));

private String strVal;

MyEnum(String strVal){
this.strVal = strVal;
}
}

这个问题适用于任何类型的静态初始化。

最佳答案

我认为没有直接的方法,因为加载资源需要上下文。但是,您可以做的是在枚举中提供一种方法,以便在上下文可用时获取所需的字符串。有点像

private enum MyEnum {
Const1(R.string.string1),
Const2(R.string.string2),
Const3(R.string.string3);

private int resId;

MyEnum(int resId){
this.resId = resId;
}

public String resource(Context ctx) {
return ctx.getString(resId);
}
}

所以你访问它就像

String val = Const3.resource(context);

关于android - 有没有一种明智的方法来引用静态初始化程序中的应用程序资源(R.string ...),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6350193/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com