因爲我知道以下事情。在Android中將資源ID分配給佈局
資源ID是一個32位的數字形式:PPTTNNNN。 PP是該資源用於的包 ; TT是資源的類型; NNNN是 該類型中的資源的名稱。對於應用程序資源,PP 總是0x7f。
例子:
通過AAPT順序處理這些資源文件:
layout/main.xml
drawable/icon.xml
layout/listitem.xml
首先我們看到的類型是layout
從而給出TT == 1
。該類型下的第一個名稱是「主」,因此給出NNNN == 1
。最終的資源ID是0x7f010001
。
接下來我們看到drawable
,因此給出TT == 2
。該類型的第一個名稱是「圖標」,以便獲得NNNN == 1
。最終的資源ID是0x7f020001
。
最後我們看到另一個layout
其中TT == 1
像以前一樣。這有一個新名稱listitem
,以便獲得下一個值NNNN == 2
。最終的資源ID是0x7f010002
。
問:
但最近我看到一些佈局文件都是由下面的方法分配ID。
Java代碼
this.f5160k = (ImageView) findViewById(2131755224);
this.f5163n = findViewById(2131755219);
this.f5162m = (LinearLayout) findViewById(2131755223);
this.f5161l = (LinearLayout) findViewById(2131755220);
this.f5158i = (GridView) findViewById(2131755222);
由於第一部分this.f5160k
是Declartion,因爲我知道,但是這是什麼格式2131755224
。任何人都可以給我建議或知識。 ?
這個'2131755224'是手動生成的,或者我們使得像'public.xml'文件。 – Ironman
由於該值是硬編碼的,因此您必須使用public.xml。這樣,價值不會改變。 R.java自動生成,ID不斷變化(並且不可能讓它們在源代碼中進行硬編碼)。因此,在public.xml中,您可以以六進制格式定義ID,並在java文件中使用十六進制或十進制格式。由於它們是不同的表示形式,但數字相同(在這種情況下是相同的ID),因此沒有區別。 – W0rmH0le