以下SO问题how-can-i-assign-an-id-to-a-view-programmatically解释了如何以编程方式将ID设置为视图。我的问题略有不同。我想知道是否可以通过编程方式将资源ID /名称设置为数组。
ArrayList<String> new_list = new ArrayList<>();
String [] stringArray = {"foo", "bar"};
for(String str:stringArray) {
new_list.add(str);
}
/* This is a random example of doing things I
* certainly have more complex computation
* add more random item and convert it back to array
*/
new_list.add("random_1");
new_list.add("random_n");
String [] updatedArray = new String[new_list.size()];
updatedArray = new_list.toArray(updatedArray);
资源ID定义为
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item name="reservedNamedId" type="id"/>
</resources>
现在我想做类似的事情
updatedArray.setID(R.id.reservedNamedId);
但无法编译,因为数组没有像Views类那样的方法setID。
我理解如果我的字符串数组是用xml定义的,我可以使用name属性来全局访问它,但我想要的是以编程方式创建一个数组并指定一个全局名称/ id。因此,基本意图是定义一个数组资源,并通过资源ID使其可用。可能吗?是否可以通过其他方式实现?