以下SO問題how-can-i-assign-an-id-to-a-view-programmatically解釋瞭如何以編程方式將id設置爲視圖。我的問題稍有不同。我想知道是否可以通過編程方式將資源ID /名稱設置爲數組。我如何分配一個id到一個在android中以編程方式創建的數組?
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在全局範圍內使用它。可能嗎?它可以用其他方式實現嗎?
'//不允許,因爲數組沒有方法setID'。這是一個令人困惑的描述。更好:「不編譯」。 – greenapps
我不這麼認爲它是可能的,你正在嘗試做什麼。這個資源ID基本上用來動態地爲組件分配ID。 –
感謝@greenapps更新後 – jazaman