Встроенные аннотации дают синтаксические ошибки
Я люблю новые проверки API Lint ADT rev 17, но новая проверка правильности API меня насторожила. У меня есть следующая строка кода:
listView.setOverScrollMode(OVER_SCROLL_NEVER);
Lint сообщает об этой строке:
Для вызова требуется уровень API 9 (текущий минимум 4)
В соответствии с документацией, я должен просто добавить примечание над строкой, например:
@TargetApi(9)
listView.setOverScrollMode(OVER_SCROLL_NEVER);
Это, однако, дает синтаксическую ошибку в Java 1.6:
Синтаксическая ошибка на токенах (-ах), неправильная конструкция (-ы)
Ответы
Ответ 1
Это не разрешено в Java (до добавления/добавления JSR 308); вы можете только аннотировать классы, методы, поля, параметры и объявления переменных. Это последнее показано в документах. Однако для проверок на основе байт-кода, таких как проверка api, может потребоваться разместить его на методе или классе (или анонимном/внутреннем классе). Быстрое исправление Add Annotation для этих предупреждений в lint должно делать правильно.