【问题标题】:Showing a DialogFragment in PreferenceFragment with AndroidX Namespace使用 AndroidX 命名空间在 PreferenceFragment 中显示 DialogFragment
【发布时间】:2018-10-09 07:39:52
【问题描述】:

我们目前正在将我们的 Android 应用迁移到新的 androidx 命名空间,如官方开发者页面所述https://developer.android.com/jetpack/androidx/migrate

不幸的是,我们的一些旧实现似乎被破坏了。我们正在我们的androidx.preference.PreferenceFragments 之一中重用 DialogFragment(最初在应用程序设置之外使用)。迁移到 androidx 后,DialogFragment 现在需要显示 androidx.fragment.app.FragmentManager 实例 - 无法再通过调用

FragmentManager fm = getFragmentManager();

在 PreferenceFragment 中。此调用仍将提供android.app.FragmentManager 的实例。我猜这是因为 PreferenceFragment 不是从androidx.fragment 派生的。

有没有人遇到过这个问题并且碰巧知道如何在设置中重复使用对话框?

【问题讨论】:

    标签: android androidx


    【解决方案1】:

    要获得正确的 FragmentManager,我们需要继承自 androidx.preference.PreferenceFragmentCompat 而不是 androidx.preference.PreferenceFragment。这解决了我们的问题。

    有关 PreferenceFragmentCompat 的更多信息,请参阅Google Developer Homepage

    【讨论】:

      猜你喜欢
      • 2016-04-08
      • 2021-09-12
      • 2011-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-01
      相关资源
      最近更新 更多