2011-02-27 127 views
37

我從一個自定義XML視圖類型檢索自定義資源的ID。我被要求爲檢索指定一個默認的int值,並想知道什麼是範圍的ID?他們總是積極的或者他們包括零?的Android資源ID

即是-1有效的「空」的參考和/或0有效的「空」的參考?

感謝

編輯

自定義XML資源/屬性文件

<resources> 
    <declare-styleable name="ToggleImageButton"> 
     <attr name="onImage" format="integer" /> 
     <attr name="offImage" format="integer" /> 
    </declare-styleable> 
</resources> 

在我的構造函數中定義爲我的自定義UI

TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.ToggleImageButton); 

int offResource = a.getInt(R.styleable.ToggleImageButton_offImage, -1); 

基本上-1在第二行的結尾是t他是這個數據類型的默認參數。在開發時可能會或可能不會在XML視圖中進行初始化,並允許以這種方式指定默認行爲。

+0

-1應該是足夠安全的,雖然我無法找到關於這個的任何文件。 – xandy 2011-02-27 01:28:19

+0

是不是基於XML的資源ID總是自動生成並存儲在R.java?你是什​​麼意思「我要求指定一個默認int值」 - 它會幫助,如果你將顯示的代碼行(一個或多個)。 – DJC 2011-02-27 01:30:21

+0

@DJC,Android的喜歡不是拋出異常,在獲取非空的值的情況下,默認值。 – xandy 2011-02-27 01:32:14

回答

6

0爲資源ID的空/無效值。

+1

有關這方面的任何文檔? – Kurru 2011-02-27 01:36:57

+6

@Kurru的Android資源ID總是有一個包識別符,所以它們的值不能爲0。 – 2011-02-27 02:12:04