2012-09-22 46 views
0

有沒有辦法通過Reflection或者生成訪問來獲取視圖引用的名稱作爲String是否有可能從R.java獲得a(int - > String)映射

實施例:

public static final int main = 0x7f030000;

我有0x7f030000,我想"main";

+1

'公共靜態最終詮釋主= 0x7f030000;'你的意思是從給定的'0x7f030000'獲得'主'? –

+0

有趣的問題,但爲什麼你需要扭轉這種情況?爲了得到一個像「0x7f030000」這樣的特定ID,你不需要先在某個時刻調用'R.layout.main'。 – Sam

+0

同意山姆 - 你爲什麼需要這樣做? – Squonk

回答

5
Field[] fields = R.layout.class.getDeclaredFields(); 
for(Field f : fields) 
{ 
    String fieldName = f.getName(); 
    int fieldValue = (Integer) f.get(new Integer(0)); 
    // ... 
} 
+0

當然,這當然是可能的,但我必須補充一點,即避免在Android/Dalvik上使用反射。這真的很慢... –

相關問題