RecyclerView ItemDecoration сломан с помощью AndroidX

У меня проблема с компилятором при использовании DividerItemDecoration с RecyclerView в существующем проекте мы обновляем для использования библиотек AndroidX.

К сожалению, в проекте используется DataBinding, что может быть частью проблемы. У нас есть некрасивый код, подобный этому:

getBinding().myRecyclerField.addItemDecoration(new DividerItemDecoration(...));

Что говорит мне

введите описание изображения здесь

AS автоматически добавляет импорт AndroidX для класса, и кажется, что android.support.v7.widget.DividerItemDecoration больше не доступен.

Как сейчас использовать ItemDecorations с RecyclerViews?

Нужно ли вручную заменять тег RecyclerView в каждом макете? (Это не было необходимо для других представлений (например, панелей инструментов)

2 ответа

Решение

В конце концов, чтобы решить эту проблему, мне пришлось заменить все RecyclerView с androidx.recyclerview пакет и убедитесь, что у меня есть android.enableJetifier=true а также android.useAndroidX=true в моих свойствах Gradle, чтобы сделать библиотеки совместимыми

Компоненты поддержки / RecyclerView по умолчанию и AndroidX RecyclerView нельзя смешивать

Используйте всегда Refractor> Migrate to AndroidX, который преобразует весь импорт, использует автоматически.

Это добавит android.enableJetifier=true а также android.useAndroidX=true тоже.

Полезный пост

Другие вопросы по тегам