Как создать слои в библиотеке Android, не раскрывая внутренние классы потребителю библиотеки

if (index < 0 || index >= array.length) {
    // Don't use this index. This is out of bounds (borders, limits, whatever).
} else {
    // Yes, you can safely use this index. The index is present in the array.
    Object element = array[index];
}

См. также:


Обновление: в соответствии с вашим фрагментом кода,

for(int i = 0; i<=name.length; i++) {

Индекс содержит длину массива. Это за гранью. Вы должны заменить <= на <.

for(int i = 0; i < name.length; i++) {
0
задан Keith Loughnane 17 January 2019 в 14:20
поделиться

1 ответ

Вы можете попробовать с аннотациями , предоставляющими конкретную область действия для желаемого файла, чтобы ограничить конечного пользователя вашей библиотеки . Лучший способ сделать это в Android - использовать аннотацию библиотеки поддержки @RestrictTo на уровне класса .

Примечание. Для полей и методов конкретной сущности можно ограничить модификаторами доступа , такими как , частными, защищенными или защищенными пакетами и т. Д. * (Просто игнорируйте, если вы уже это знаете)

@RestrictTo : обозначает, что аннотированный элемент должен быть доступен только из определенного область действия (как определено в RestrictTo.Scope ).

0
ответ дан Jeel Vankhede 17 January 2019 в 14:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: