R.java是一個由eclipse自動產生的檔案,主要是敘述所有@id、@string這些resource的位置資訊,他被置放在 gen/packages/R.java 的位置。
所有定義在XML的資源,若需在程式中存取,可透過findViewById(id) 取得其xml中的reference,例如:
Button button = (Button) findViewById(R.id.Button01)
其中的R.id.Button01在main.xml中定義如下:
而R.java中定義:
public static final class id {
public static final int Button01=0x7f050000;
}
因此上述的 Button button = (Button) findViewById(R.id.Button01)
很明白可看出是由R.id.Button01指出resource資訊(xml中的@+id/Button01)再經由findViewById()找到此VIEW。
需注意的是findViewById()統一回傳最上層的VIEW,因此之後須強制傳型為自己所需的類型。
沒有留言:
張貼留言