Android资源ID

我从自定义的XML视图types检索自定义资源ID。 我被要求为检索指定一个默认的int值,并想知道什么是范围的ID? 他们总是积极的还是包括零?

即-1是一个有效的“空”参考AND / OR是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是这个数据types的默认参数。 它在开发时可能会或可能不会在XML视图中初​​始化,并允许以这种方式指定默认行为。

根据文档, Resources.getIdentifier()

如果没有find这样的资源,则返回0。 (0不是有效的资源ID。)

所以你可以使用0。

0是资源ID的空值/无效值。