Android 从适配器启动片段是一种好的做法吗?

Android 从适配器启动片段是一种好的做法吗?,android,android-fragments,android-recyclerview,Android,Android Fragments,Android Recyclerview,我有一个带有fragmentA的活动。fragmentA在recyclerview中托管一个列表,该列表需要一个适配器。当点击列表中的一个项目时,我想打开另一个片段,比如B,显示关于该项目的其他详细信息。 我可以用三种方式打开片段B: 从recyclerview适配器本身,我将有项目位置等 从片段A使用来自适配器的回调,因为适配器具有所有必需的信息,如位置、对象等 从活动中,再次使用回调。如果从活动中执行此操作,则必须将回调接口从适配器添加到片段A,最后添加到活动中。看起来太多了 我想知道打开片

我有一个带有
fragment
A的活动。
fragment
A在
recyclerview
中托管一个列表,该列表需要一个
适配器。当点击列表中的一个项目时,我想打开另一个片段,比如B,显示关于该项目的其他详细信息。
我可以用三种方式打开片段B:

  • 从recyclerview适配器本身,我将有项目位置等

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

  • 从活动中,再次使用回调。如果从活动中执行此操作,则必须将回调接口从适配器添加到片段A,最后添加到活动中。看起来太多了


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

    嘿,从适配器启动片段不是一个好的做法。因为找到碎片的容器会非常复杂。因此,请始终尝试从主活动开始片段,它将是所有片段的父活动。我希望它对您有所帮助

    选项2始终是一个好方法-> 2.From fragment,使用来自适配器的回调,因为适配器具有所有必需的信息,如位置、对象等


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

    这里没有最佳方法。