我可以使用资源来声明一个公共变量吗?

时间:2014-04-08 19:41:02

标签: android android-resources

在android中,我想使用字符串数组资源在我的一个类中创建public static final String。但是,似乎我必须在getResources()上调用Context,我无法在班级找到任何上下文。这可能吗?

public class DBAdapter {

    Resources res = getResources();
    public static final String[] gradeTypes = res.getStringArray(R.array.gradeTypes);
...

1 个答案:

答案 0 :(得分:1)

你做不到。如果您需要Context,可以使用构造函数传递它:

public class DBAdapter{
    private Context mContext;

    public DBAdapter(Context mContext) {
        this.mContext = mContext;
    }
}

但是无论如何你都没有机会在gradeTypes初始化时使用它。为什么需要将其声明为final?如果要在内部类中使用此数组,则可以在不使用final修饰符的情况下执行此操作。

相关问题