【问题标题】:LightCycle - get fragments's presenters reference in the activity presenter (and the other way around)LightCycle - 在活动演示者中获取片段的演示者引用(反之亦然)
【发布时间】:2016-11-22 01:20:05
【问题描述】:

注意:这是我在LightCycle 项目 github 上直接提出的问题。这是 SongKick 的一款出色工具,可在您的 Android 应用上构建干净的 MVP 架构。


有一件事我想念,我有一个包含许多片段和许多片段Presenters的活动。 有时我对我的活动演示者进行计算,并且我想将其发送给一个或多个片段演示者(例如,我的目录显示在活动菜单中,并且在开始时全屏显示的片段中)。

如何在我的活动演示者中添加片段演示者的保留引用(也许这不是我应该设计的方式)。

第二个问题。我的 MyActivityPresenter 有两个孩子:MyOnlineActivityPresenter 和 MyOfflineActivityPresenter。 MyActivityPresenter.newPresenter(Network.isNetworkAvailable(contexte), little other args) 决定在线或离线演示者是否被实例化。所以我应该这样做:

@LightCycle
PlayerPresenter presenter = PlayerPresenter.get(NetworkUtils.isNetworkAvailable(this));

但有人告诉我,我永远不应该那样使用上下文,因为它可能在类实例化时刻为空。真的有问题吗?

我还应该传递我在 onCreate Bundle 中的其他几个参数吗?

而且我目前不使用依赖注入。

我希望我很清楚, 再次感谢这个非常有用的库

【问题讨论】:

    标签: android songkick


    【解决方案1】:

    这是他们给我的答案


    如何在我的活动演示者中添加片段演示者的保留引用(也许这不是我应该设计的方式)。

    它不在这个库的范围内。我可以为您提供 2 个解决方案:

    • 注入同一个实例
    • 从片段中为演示者提供访问器。 (这似乎对你更好)。

    但有人告诉我,我永远不应该那样使用上下文,因为它在类实例化时刻可能为空。真的有问题吗? 我还应该传递我在 onCreate Bundle 中的其他几个参数吗?

    这里也一样。

    • 您可以使用在您的情况下应该可用且足够的应用上下文
    • 您可以在构造函数中初始化这个家伙,因为绑定发生在创建时

    【讨论】:

      猜你喜欢
      • 2021-12-31
      • 1970-01-01
      • 2017-07-02
      • 2011-06-09
      • 1970-01-01
      • 1970-01-01
      • 2012-07-06
      • 2018-12-03
      • 1970-01-01
      相关资源
      最近更新 更多