阵列名称传递变量
让说我有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