Estoy recuperando ID de recursos personalizados de un tipo de vista xml personalizado. Se me pide que especifique un valor int predeterminado para la recuperación y me pregunto ¿cuál es el rango de ID? ¿Son siempre positivos o incluyen cero?ID de recursos de Android
i.e es -1 una referencia "nula" válida Y/O es 0 una referencia "nula" válida?
Gracias
EDITAR
recursos XML personalizado/atributo de archivo
<resources>
<declare-styleable name="ToggleImageButton">
<attr name="onImage" format="integer" />
<attr name="offImage" format="integer" />
</declare-styleable>
</resources>
Definido en mi constructor de mi interfaz de usuario personalizada
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.ToggleImageButton);
int offResource = a.getInt(R.styleable.ToggleImageButton_offImage, -1);
Básicamente, el -1 en el el final de la 2da línea es t El parámetro predeterminado para este tipo de datos. Puede inicializarse o no en la vista XML durante el desarrollo y esto permite que el comportamiento predeterminado se especifique de esta manera.
-1 debe ser lo suficientemente seguro, aunque no puedo encontrar ningún documento al respecto. – xandy
¿Los identificadores de recursos basados en XML no siempre se generan automáticamente y se almacenan en R.java? ¿Qué quiere decir con "Se me pide que especifique un valor int predeterminado"? Sería útil que muestre la (s) línea (s) de código. – DJC
@DJC, Android prefiere el valor predeterminado que arrojar excepciones, en caso de recuperar valores que no admiten nulos. – xandy