gpt4 book ai didi

android - 官方 Fragment 开发者指南自相矛盾吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:10:57 27 4
gpt4 key购买 nike

Design Philosophyofficial Fragment guide ,它说:

You should design each fragment as a modular and reusable activity component. That is, because each fragment defines its own layout and its own behavior with its own lifecycle callbacks, you can include one fragment in multiple activities, so you should design for reuse and avoid directly manipulating one fragment from another fragment.

但在其 ExampleTitlesFragment 类(扩展 ListFragment)在其 中直接引用 DetailsFragment 类(扩展 Fragment) >showDetails() 方法通过 findFragmentById()

DetailsFragment details = (DetailsFragment)
getFragmentManager().findFragmentById(R.id.details);

并调用 DetailsFragment 类的 newInstance() 方法。

details = DetailsFragment.newInstance(index);

这是一种糟糕的编码风格吗?

相比之下,Basic Training Material似乎在编码风格方面做得更好。它使用一个接口(interface)进行 fragment 到 Activity 的通信。

最佳答案

Is it a bad coding style?

恕我直言,是的。恕我直言, fragment 不应该知道也不关心 Activity 管理的其他 fragment 。 fragment 可能关心嵌套 fragment (通过 getChildFragmentManager() 的子 fragment ),但不关心可能的对等 fragment 。

在引用的示例中,TitlesFragment 不应该关心它是以单 Pane 还是双 Pane 模式显示的。该 Activity 应该关心这一点。这将隔离 Activity 中所有与屏幕尺寸相关的代码——TitlesFragment 可以忽略屏幕尺寸。

话虽这么说,AFAIK 代码在技术上没有任何问题——这不是我推荐的做法。

关于android - 官方 Fragment 开发者指南自相矛盾吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15536913/

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