我知道如何通過調用setID()
來動態分配ID。對於ID是唯一的,我曾經使用ids.xml
並從預先生成的ID池中傳遞給setID()
ID。Android - 動態分配和檢索ID
問題1:有什麼辦法來分配的ID不利用ids.xml
因爲我不能預測有多少的ID我需要在運行?
我試圖通過基於其標籤的哈希動態分配每一個的ID(每個標籤是唯一的)繞過問題1提出的第一個問題,但目前還沒有辦法gaurantee該ID的不會是與在R.java
中生成的ID自動碰撞。
問題1.1:如何解決ID命名衝突?
問題2:假設我有我動態分配和生成的ID值。由於上述ID未出現在R.id
中,因此findViewById()
將不適用於檢索視圖。因此,當ID已知時如何檢索視圖?
答2:,您仍然可以通過後才onCreate()
返回控制(終止)及其相應的ID來檢索視圖。
關於'for'循環,你不能確定你提供一個唯一的ID!也許第i個值已被使用。對'getId()'的批評,我明確寫道,我有ID,不需要檢索ID,而是希望檢索相應的視圖。無論如何,感謝您的幫助。 – MrRoth 2012-04-21 17:38:03
你似乎誤解了,你可以使用findViewById(yourView.getId())來取回視圖的一個實例 – 2012-04-21 17:44:29
不可以!這裏是來自Android文檔的引用_查找由在onCreate(Bundle)中處理的XML **中的id屬性標識的視圖**。_請注意,創建應用程序時此ID不存在。 – MrRoth 2012-04-21 17:56:42