Идентификаторы ресурсов Android - PullRequest
45 голосов
/ 27 февраля 2011

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

, т. Е. -1 - допустимая «нулевая» ссылка И / ИЛИ 0 - действительная «нулевая» ссылка?

Спасибо

РЕДАКТИРОВАТЬ

Пользовательский файл XML / файл атрибутов

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

Определен в моем конструкторе для моего пользовательского интерфейса

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

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

В основном -1 в конце 2-й строки является параметром по умолчанию для этого типа данных.Он может или не может быть инициализирован в представлении XML при разработке, и это позволяет задавать поведение по умолчанию таким образом.

Ответы [ 2 ]

79 голосов
/ 27 февраля 2012

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

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

, поэтому вы можете использовать 0.

9 голосов
/ 27 февраля 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...