7

目前我在资源文件中定义了各种 Fragment 并将它们隐藏在包含 Activity 的 onCreate 方法中,但我对这种方法并不满意,因为我希望这是每个 Fragment 为自己定义的特征之一.

我是过于客观化 Fragments 还是只是错过了技术?

谢谢,

4

1 回答 1

4

我对这种方法不满意,因为我希望这是每个片段为自己定义的特征之一。

我不同意这种评价。

片段负责屏幕的一小部分以及纯粹包含在屏幕的该小部分中的任何事件。

Fragment 是托管的 Activity A 还是 Activity B 还是 Activity C,是否与其他 Fragment 并排,当前是否可见等等都不是 Fragment 的责任。该责任在于托管活动(或活动,如果片段被重用)。托管活动知道屏幕大小以及在将特定片段加载到屏幕上时应该做什么。

毕竟,规则可能会改变。也许片段隐藏在小/普通屏幕上,但在大/超大屏幕上可见。或者,也许该片段最初是单独使用的,但后来被加载到ViewPager. 或者,也许片段作为 a 的一部分被动态创建FragmentTransaction并添加到 BACK 堆栈中,因此用户可以独立地摆脱片段。恕我直言,片段不应该知道也不应该关心这些东西,因为它都超越了那个单独片段的界限。

于 2012-04-04T22:30:05.617 回答