Java Android动态获取类型Darray

Java Android动态获取类型Darray,java,android,Java,Android,我试图根据一些数据动态设置要使用的资源(数组)。例如,我为每个级别设置了数组,就像上面的一样。在上面的示例中,我想使用intcurrentLevel的值,而不是使用obtainTypedArray()中的资源idR.array.level\u 2 因此,某种方式可以做一些事情,比如: obtainTypedArray(“R.array.level\uux”+level) 有什么想法吗?谢谢 应该使用Context.getResources().getIdentifier()方法可以在任何活动中通

我试图根据一些数据动态设置要使用的资源(数组)。例如,我为每个级别设置了数组,就像上面的一样。在上面的示例中,我想使用int
currentLevel
的值,而不是使用
obtainTypedArray()
中的资源id
R.array.level\u 2

因此,某种方式可以做一些事情,比如:
obtainTypedArray(“R.array.level\uux”+level)


有什么想法吗?谢谢

应该使用
Context.getResources().getIdentifier()方法可以在任何活动中通过
getStrArrWithId(“level_”+level,getApplicationContext())调用

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <array name="level_2">
        <item name="first">some value</item>
        <item name="second">some value</item>
        <item name="third">some value</item>
    </array>
</resources>
int currentLevel = 2;        
TypedArray testArray = getResources().obtainTypedArray(R.array.level_2);
int firstValue = testArray.getInt(0,0);
public String [] getStrArrWithId (String id, Context context) {
    int arrId = context.getResources().getIdentifier(id, "array", context.getPackageName());
    String[] strArr = context.getResources().getStringArray(arrId);
    return strArr;
}