Android P 中弃用的 DialogFragment 类

Posted

技术标签:

【中文标题】Android P 中弃用的 DialogFragment 类【英文标题】:DialogFragment Class Deprecated in Android P 【发布时间】:2018-09-19 08:24:01 【问题描述】:

android 文档给出以下警告。

此类在 API 级别 P 中已弃用。 使用支持库 DialogFragment 在所有设备上实现一致的行为并访问生命周期。

这是否仅仅意味着我作为开发人员的唯一改变是导入android.support.v4.app.DialogFragment 而不是旧的android.app.DialogFragment

【问题讨论】:

如果您希望避免弃用警告,可以。他们正在全面推动每个人使用 Fragments 的 Support Library 版本。 【参考方案1】:

Google 鼓励所有开发者从普通的 DialogFragment 转移到同类的支持版本,当然你仍然可以使用已弃用的版本,但如果 Google 推荐支持版本,你为什么不呢?

只需将您的导入语句从 android.app.DialogFragment 更改为 android.support.v4.app.DialogFragment

此外,如果您使用的是已弃用的普通片段版本,请考虑更改所有导入。

更新

如果您使用全新的 AndroidX 库而不是旧的支持库,请将其更改为 androidx.fragment.app.DialogFragment,但请注意您如何在代码中使用 DialogFragment,因为您还必须迁移到新的 androidx.fragment.app.FragmentActivity

【讨论】:

哇!谢谢。你救了我的一天!!问题是我必须将 FragmentActivity 用于我的父活动。 @MomenZaqout 很高兴我能帮上忙。 谢谢你。

以上是关于Android P 中弃用的 DialogFragment 类的主要内容,如果未能解决你的问题,请参考以下文章

iOS - 系统方法中弃用的关键字的了解 NS_AVAILABLE和NS_DEPRECATED

如何在 API 29 中弃用 getExternalStorageDirectory 时读取或写入文件?

在C ++ 17中弃用`std :: result_of`的原因是什么?

thumbnailImageAtTime:timeOption 已弃用:首先在 iOS 7 中弃用

如何在 PHPDoc 中弃用 PHP 的魔法属性?

如何在 Xcode 中弃用方法