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, поэтому, если вы видите это, я призываю вас попытаться построить в любом случае