【问题标题】:Is it a good practice to start a fragment from an adapter?从适配器启动片段是一种好习惯吗?
【发布时间】:2019-04-02 05:49:20
【问题描述】:

我与fragment A 有一个活动。Fragment A 在recyclerview 中托管一个列表,需要adapter。当单击列表中的一个项目时,我想打开另一个片段,比如 B,显示有关该项目的其他详细信息。 我可以通过三种方式打开片段 B:

  1. 从 recyclerview 适配器本身,我将拥有项目位置等。

  2. 从片段 A 使用来自适配器的回调,因为适配器具有所有必需的信息,如位置、对象等。

  3. 从活动中,再次使用回调。如果我从活动中做,我将不得不将回调接口从适配器添加到片段 A,最后添加到活动中。看起来太多了。

我想知道打开片段 B 的最佳方式是什么。

【问题讨论】:

  • 这里没有最好的办法。

标签: android android-fragments android-recyclerview


【解决方案1】:

嘿,从适配器启动片段不是一个好习惯。因为找到片段的容器会很复杂。所以请始终尝试从主要活动开始片段,这将是所有片段的父级。我希望它对你有所帮助。

【讨论】:

    【解决方案2】:

    选项 2 总是好的方法-> 2.从片段,A使用适配器的回调,因为适配器具有所有必需的信息,如位置,对象等。

    “根据 MVC 模式,适配器始终用于将视图与列表绑定。因此适配器应始终独立于片段,因此将始终处理单一责任原则。因此,适配器与片段之间不应该存在依赖关系,而是片段到适配器。当您从适配器调用片段或活动时,它将彼此创建循环依赖关系,因此在您完成应用程序之前内存不会清除。您可以从适配器调用片段的任何回调方法,该方法将调用所需的你想要的碎片。”

    【讨论】:

      猜你喜欢
      • 2021-10-23
      • 1970-01-01
      • 1970-01-01
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多