2013年4月7日 星期日

Android初體驗 - R.java??


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,因此之後須強制傳型為自己所需的類型。

沒有留言:

張貼留言