阵列名称传递变量

让说我有2个阵列阵列名称传递变量

Array1 = 1,2,3,4,5 

Array2 = a,b,c,d,e

String[] array = getResources().getStringArray(R.array.Array1);

这是做工精细。但我不希望与其他线上方再次使用该代码

String[] array = getResources().getStringArray(R.array.Array2); 

如何获得下面的线工作,如果 我宣布XXX为数组名变量

String xxx = Array1; 

String[] array = getResources().getStringArray(R.array.xxx);

回答:

你可以:

int xxx = R.array.Array1; //change to integer 

String[] array = getResources().getStringArray(xxx); //pass the whole id

而不是传递只是资源的名称,传递整个ID(作为整数)。

如果你仍然想通过名称作为字符串,您可以:https://stackoverflow.com/a/3476447/9038584

回答:

一个简单的util的方法,在你的活动或服务:

第二个选项的

String xxx = "Array1"; 

int resourceId = getResources().getIdentifier(xxx, "array", getPackageName());

String[] array = getResources().getStringArray(resourceId);

参考

String[] getArray(int id) { 

return getResources().getStringArray(id);

}

用法:

String[] array1 = getArray(R.array.array1); 

以上是 阵列名称传递变量 的全部内容, 来源链接: utcz.com/qa/261368.html

回到顶部