如何在 R.array.* 引用中转换变量?

How to cast a variable in an R.array.* reference?

所以我试图做一个 if/then 语句,结果是 R.array.measurements 或 R.array.currency。 "measurements" 和 "currency" 都引用 strings.xml 文件中的两个数组。它需要一个整数值,所以我尝试将其解析为整数,但它不起作用。

我想要做的是,如果 isMeasurement == false 则将 ListView 显示为测量列表,如果 isMeasurement == true 则它将显示货币列表。据我所知,其他一切都有效。感谢您的帮助:)

这是我试过的:

private String unitType;
    Boolean isMeasurement = false;
            if(isMeasurement){
                unitType = "R.array.measurements"; 
            } else {
                unitType = "R.array.currency";
            }
            ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, Integer.parseInt(unitType), android.R.layout.simple_spinner_item);

这是我的原始代码:

private String unitType;
    Boolean isMeasurement = false;
            if(isMeasurement){
                unitType = "R.array.measurements";
            } else {
                unitType = "R.array.currency";
            }
            ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.measurements, android.R.layout.simple_spinner_item);

你试过getResourses().getString(R.array.measurements);了吗?这将为您提供 R.array.measurements 的实际值。现在你只是分配一个字符串文字。

或者,如果您需要整数值,那么不带引号的 R.array.measurements 将为您提供整数 ID。