片段作为静态类

use*_*057 5 android android-fragments

只是一个简短的问题:在我在android文档中看到的所有示例中,片段都是静态内部类.这是Android的要求吗?或者他们可以设置为常规内部类?是否有人了解Android的内部结构足以提供答案?

从我在OCJP文档中读到的内容来看,这些静态内部类根本不是类,而只是包含它们的类的静态成员,就像任何静态方法一样 - 例如main.

您的见解表示赞赏.

Com*_*are 9

这是Android的要求吗?或者他们可以设置为常规内部类?

它们不能是常规(非静态)内部类.只有外部类的实例才能创建常规内部类的实例,Android需要为您重新创建片段(例如,在配置更改时).片段必须是常规Java类或静态内部类,并且它们需要具有公共零参数构造函数.

这些静态内部类根本不是类,而只是包含它们的类的静态成员,就像任何静态方法一样 - 例如main.

我不知道你是怎么解释的.

  • @ user1837057:我不同意该学习指南中的解释.恕我直言,静态内部类几乎只是命名空间的语法糖 - 在大多数其他方面,它们与常规Java类没有什么不同. (3认同)