requireActivity(), requireContext() и requireFragmentManager() не будут работать с AndroidX

Я работал над обновлением проекта, который содержит DataBinding, до новых пакетов AndroidX. Был ряд проблем с неправильным использованием методов DataBinding SafeUnbox, но они решены, и в настоящее время я не могу собрать их, поскольку AndroidX, похоже, не поддерживает requireActivity, requireContext а также requireFragmentManager методы.

я имею android.enableJetifier=true а также android.useAndroidX=true в моих свойствах Gradle и исправлены незначительные проблемы, которые он представил, но меняется от android.support.v4.app.Fragment не требуется (к счастью - библиотеки типа trello.rxlifecycle затем ломаются)

Поэтому, хотя классы / импорт Fragment и Activity не изменились, я больше не могу использовать методы require. можно ли это исправить?

1 ответ

Решение

Я испытал это впервые с Android Studio 3.1.2. Других проблем сборки не было. После того, как я выполнил обновление до Android Studio до 3.2 и использовал инструмент Migrate (Refactor -> Migrate to AndroidX), я увидел другие, ранее скрытые проблемы со сборкой. Как только эти другие (скрытые) проблемы были решены, я смог построить проект, несмотря на то, что в среде IDE были обнаружены ошибки с этими методами.

Примечание. Несмотря на то, что я могу строить в обычном режиме, вызовы requireActivity по-прежнему отображаются красным цветом в Android Studio, поэтому, если вы видите это, я призываю вас попытаться построить в любом случае

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