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
тоже.