将公共属性和方法公开给 Main Activity 的片段是不是是一种不好的形式?

Posted

技术标签:

【中文标题】将公共属性和方法公开给 Main Activity 的片段是不是是一种不好的形式?【英文标题】:Is it bad form to expose public properties and methods to fragments from a Main Activity?将公共属性和方法公开给 Main Activity 的片段是否是一种不好的形式? 【发布时间】:2014-06-03 05:52:37 【问题描述】:

给定:

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

我的问题:

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

【问题讨论】:

【参考方案1】:

是否应该通过接口获取对活动的属性和方法的引用?

如果片段稍后可能由其他活动托管(例如,在手机大小的外形尺寸中使用的一个活动,在平板电脑大小的外形尺寸中使用的不同活动),它有助于您的代码面向未来。搭建一个合约接口并不难。

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

这似乎与您刚才提出的问题相同。但请注意,它们是否需要为public,或者可以保持包私有,取决于它们是否在同一个包中。

如果我误解了第二个问题,我深表歉意,但您可能想澄清一下。

【讨论】:

以上是关于将公共属性和方法公开给 Main Activity 的片段是不是是一种不好的形式?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 jQuery 插件公开公共属性?

公开异步系统的公共 API

如何公开集合属性? [关闭]

如何公开公开控件的属性?

属性和字段的区别

android srudio中activity_main.xml怎么才能将设计的显示程序分为几行