gpt4 book ai didi

java - 静态 fragment 与非静态 fragment

转载 作者:行者123 更新时间:2023-12-02 03:16:16 25 4
gpt4 key购买 nike

我正在查看来自的 Fragment 文档 Google Android Fragments

我一直在使用 Android Studio 创建的非静态Fragments例如:

public class FormsFragment extends Fragment

为什么 Google 文档将它们声明为静态?这是什么道理?

public static class DetailsFragment extends Fragment 

最佳答案

使用fragment你必须遵守Android本身给出的契约(Contract)。由于框架管理您的 Activity 和 fragment 生命周期,因此它需要能够创建这些类。这是通过公共(public)默认构造函数完成的。此外,还需要将类本身声明为公共(public)。

因此,如果您将 fragment 定义为“普通”类,则无需考虑其他任何内容。如果将其定义为另一个类的内部类,必须也将其声明为静态。否则,该类将具有一个带有外部类类型参数的隐式构造函数,因此没有公共(public)默认构造函数来创建 fragment 的新实例。

关于java - 静态 fragment 与非静态 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40247007/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com