2011-02-27 109 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