Дао @NonNull предупреждений - PullRequest
       14

Дао @NonNull предупреждений

0 голосов
/ 23 февраля 2019

У меня Room Dao с методом:

@Insert(onConflict = OnConflictStrategy.REPLACE)
abstract long upsertItem(@NonNull DBItem obj);

В Android Studio 3.3.1 выдается предупреждение: «Переопределенные параметры метода не аннотированы».В меню автоматического решения есть опция «Аннотировать параметры переопределенного метода как« @NonNull »».Если я выберу его, ничего не изменится (нет обновленных импортов или изменений в файлах проекта - по крайней мере, в файлах git [я использую https://github.com/github/gitignore]), но предупреждение исчезает на некоторое время (возможно, проект очищен или повторно синхронизирован - не уверен).

Похоже, что проблема как-то связана с миграцией AndroidX, потому что я ее раньше не помнил (использовал библиотеку поддержки и API 27 как targetSdkVersion / compileSdkVersion, перемещен в 28 и androidx.room). Но выполнить откат иcheck.

Более того, мой класс Dao (в приведенном выше примере) не имеет родителя, не переопределяет этот метод в подклассе и не имеет методов с таким же именем, но с другими аргументами.быть переопределенным вообще.

ОБНОВЛЕНИЕ

Понял проблему! Комната не генерирует @ Nullable / @ NonNull для параметров в реализации Dao: возвращаемые значения имеют аннотацию, вводпараметры не.

Есть ли способ исправить это (кроме удаления аннулируемых аннотаций из параметров)?

...