R.array是一个类但不是一个对象?

时间:2011-09-11 23:29:37

标签: java android

这适用于Android,但我认为这是一个普遍的Java问题,因此我将其标记为。

我正在尝试使用R.array上的反射来从列表中获取数组。这些数组名为stringArraySubCategoryX,其中X被替换为0到20之间的数字。这是我的代码,但我遇到了一个问题:

Field subCatField = R.array.class.getField("stringArraySubCategory" + position);
subCatergorySpinner.setAdapter(ArrayAdapter.createFromResource(InfoActivity.this, subCatField.getInt(R.array), android.R.layout.simple_spinner_item));

问题部分是subCatField.getInt(R.array)位,它应该返回所选数组的资源int值。但是Field.getInt(arg)的参数是一个对象。我检查了R.array,那说public static final class array,但似乎不接受它。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

subCatField.getInt(null)

您正在寻找什么。当然,stringArraySubCategoryXstatic

但是......你说:“我正在尝试使用R.array上的反射从列表中获取数组。”

那是int怎么样?

subCatField.get(null)

将返回Object

中包含的静态Field