Подтвердить что ты не робот

Идентификаторы ресурсов Android

Я извлекаю пользовательские идентификаторы ресурсов из пользовательского типа вида xml. Я попросил указать значение int по умолчанию для извлечения и задавался вопросом, что такое диапазон идентификаторов? Всегда ли они положительны или включают нуль?

i.e является -1 действительной ссылкой "null" AND/OR является 0 действительной ссылкой "null"?

Спасибо

ИЗМЕНИТЬ

Пользовательский файл ресурсов/атрибутов 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 в конце второй строки является параметром по умолчанию для этого типа данных. Он может быть или не быть инициализирован в представлении XML при разработке, и это позволяет указывать поведение по умолчанию таким образом.

4b9b3361

Ответ 1

Согласно документации, Resources.getIdentifier()

Возвращает 0, если нет такого ресурса был найден. (0 не является допустимым идентификатором ресурса.)

чтобы вы могли использовать 0.

Ответ 2

0 является нулевым/недопустимым значением для идентификатора ресурса.