2012-12-26 37 views
3

View的getId()方法和XML文件中定義的id之間的關係是什麼?有沒有?我的ID看起來像這樣:「field1」,「field2」...最後這個數字對我的應用程序非常重要,我需要檢索它們。有什麼辦法可以做到嗎?View方法getId()返回什麼?

回答

13

什麼是正整數View的getId()方法和XML文件中定義的ID之間的關聯?

getId()返回android:id值,或者您通過setId()設置的值。

我的ID是這樣的: 「字段1」, 「字段2」

在你的XML,它們可能看起來像@+id/field1@+id/field2。那些正在分配的ID資源,在編譯時變成數字。這些是您在Java代碼中引用爲R.id.field1R.id.field2的數字。

這個數字在最後對我的應用程序非常重要,我需要檢索它們。有什麼辦法可以做到嗎?

有一個大的switch語句中的ID比較R.id.field1,等等。或者,建立一個HashMapgetId()的價值觀和「非常重要」的數字之間進行映射。或者,找到一些其他解決方案,不會在您的ID值中包含魔術名稱。

1

View的getId()方法和在XML文件中定義的id 之間的關係是什麼?有沒有?

documentation

返回該視圖的標識符。

相關XML屬性

機器人:ID

返回

用來識別視圖或NO_ID如果視圖沒有ID

11

爲了得到資源ID名稱:

res.getResourceEntryName(view.getId()) 

你會得到 「字段1」

+0

這正是我一直在尋找,謝謝! –

+0

其中res =資源 –