Android 将公共属性和方法公开给来自主活动的片段是一种糟糕的形式吗?

Android 将公共属性和方法公开给来自主活动的片段是一种糟糕的形式吗?,android,android-fragments,interface,public,main-activity,Android,Android Fragments,Interface,Public,Main Activity,鉴于: 从片段中,您始终可以调用getActivity(),以获取对上下文中活动的引用。 当然,您可以将此实例强制转换为强类型(如MainActivity),以获取对活动上公共属性和公共方法的引用 我的问题: 这是坏形式吗?应该避免吗? 具体来说,是否应该通过接口获取对活动上属性和方法的引用 或者将公共属性和方法公开给活动的片段是标准做法吗 是否应该通过接口获取对活动上属性和方法的引用 如果片段稍后可能由其他活动托管(例如,一个活动用于电话大小的形状因子,另一个活动用于平板电脑大

鉴于:

  • 从片段中,您始终可以调用
    getActivity()
    ,以获取对上下文中活动的引用。
    • 当然,您可以将此实例强制转换为强类型(如
      MainActivity
      ),以获取对活动上公共属性和公共方法的引用
我的问题:

  • 这是坏形式吗?应该避免吗?
    • 具体来说,是否应该通过接口获取对活动上属性和方法的引用
  • 或者将公共属性和方法公开给活动的片段是标准做法吗
是否应该通过接口获取对活动上属性和方法的引用

如果片段稍后可能由其他活动托管(例如,一个活动用于电话大小的形状因子,另一个活动用于平板电脑大小的形状因子),则它有助于将来验证您的代码。建立合同接口并不是那么困难

将公共属性和方法公开给活动的片段是标准做法吗

这似乎是你刚才问的同一个问题。尽管需要注意的是,它们是否需要是
公共的
,或者可以保持包私有,这取决于它们是否在同一个包中

如果我误解了第二个问题,我道歉,但你可能想澄清一下