Ошибка «выведен тип FragmentManager? но ожидался FragmentManager» после перехода на androidX - PullRequest
1 голос
/ 20 марта 2020

Я только что переместил свой проект на androidX. Я использовал android studio refactor-> обновление до androidX. TargetSDK было уже 28 и работал нормально. Так что не ожидал много ошибок. Но я ошибался и получал много ошибок, большинство из них о фрагменте

inferred type is FragmentManager? but FragmentManager was expected

Это когда я вызываю метод show пользовательского bottomSheetDialogue во фрагменте.

bottomDialog.newInstance(//options here
                  ).show(fragmentManager, bottomDialog.TAG)

Ответы [ 3 ]

2 голосов
/ 20 марта 2020

Метод аннотирован как Nullable. Изменить как это

fragmentManager?.let { manager ->
    bottomDialog.newInstance(//options here
              ).show(manager, bottomDialog.TAG)
}
1 голос
/ 20 марта 2020

Убедитесь, что вы импортируете androidx.fragment.app.FragmentManager вместо android.app.FragmentManager

0 голосов
/ 22 марта 2020

В итоге я использовал parentFrgamentManager, и это решило проблему. Я попытался с supportFragmentManager, но он не был распознан, поэтому использовал parentFragmentManager. Это код, который я использовал.

bottomDialog.newInstance(//options here
                  ).show(parentFragmentManager, bottomDialog.TAG)
...