Отображение DialogFragment в PreferenceFragment с пространством имен AndroidX - PullRequest
0 голосов
/ 09 октября 2018

В настоящее время мы переносим наше приложение для Android в новое пространство имен androidx, как описано на официальных страницах разработчика здесь https://developer.android.com/jetpack/androidx/migrate

К сожалению, некоторые из наших старых реализаций, похоже, сломаны.Мы повторно используем DialogFragment (который изначально используется вне настроек приложения) в одном из наших androidx.preference.PreferenceFragment s.После перехода на androidx DialogFragment теперь необходимо показать экземпляр androidx.fragment.app.FragmentManager, который больше нельзя получить, вызвав

FragmentManager fm = getFragmentManager();

в PreferenceFragment.Этот вызов все равно предоставит экземпляр android.app.FragmentManager.Я предполагаю, что это потому, что PreferenceFragment не является производным от androidx.fragment.

Кто-нибудь когда-либо сталкивался с этой проблемой и случайно нашел решение, как я все еще могу использовать диалоговое окно в настройках?

1 Ответ

0 голосов
/ 11 октября 2018

Чтобы получить правильный FragmentManager, нам нужно наследовать от androidx.preference.PreferenceFragmentCompat вместо androidx.preference.PreferenceFragment.Это решило нашу проблему.

См. Домашняя страница разработчика Google для получения дополнительной информации о PreferenceFragmentCompat

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...