【问题标题】:Question about communication between activity and fragment关于activity和fragment之间通信的问题
【发布时间】:2019-10-27 15:48:58
【问题描述】:

我问我一个关于活动和片段之间通信的问题。在我的情况下,我只有一个活动和多个片段。 我有两种可能:

  • 使用界面(长)
  • 只需使用 getActivity(或活动)与活动的演员表:(activity as MainActivity)."variable"

在我的情况下,逻辑上第二个是最好的,但这个解决方案没有问题?

【问题讨论】:

  • 不,第二个解决方案通常没有问题,当附加片段时,只有一个非常小的窗口,其中 getactivity 可以返回 null,但这在几乎所有使用的情况下都不应该是问题获取活动
  • 在这种情况下我会开始使用ViewModel。接口没问题。

标签: java android kotlin interface fragment


【解决方案1】:

第二个可能看起来更容易实现。但是第一个更松散耦合,因此维护友好和许多其他好处。

在这方面使用接口是更好的选择,因为它遵循观察者设计模式,经过很好的测试,很好理解。特定活动的类型转换也使片段与活动强耦合,这不是一个好的设计。为了在其他地方使用该片段,您必须每次都更新类型转换部分,这也妨碍了可重用性,也违反了 SOLID 的开闭原则。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多