【问题标题】:Kotlin: Call a fragments function from the host activity without companion objectKotlin:从没有伴随对象的主机活动中调用片段函数
【发布时间】:2022-10-24 17:39:34
【问题描述】:

我有一个带有函数getResult(): Boolean {..} 的片段,它查看片段的各个部分并返回成功状态。我以为我可以为此使用伴随对象,但它必须从伴随对象外部访问视图,因此这似乎不是一个选择。

我还尝试通过伴随对象返回一个实例(instance = this),然后将其设置为 val,但这也是一个死胡同。

如果有一个动态解决方案可以使用基于传递的变量的任何片段,如果我保证片段将始终具有 getResult() 函数,则加分

【问题讨论】:

  • 您可以通过使用 Activity 的supportFragmentManager 和使用find... 函数之一来获取现有片段。
  • 好的,我已经沿着这条路线走得更远了。关于让它更具活力的任何想法?我在想我需要一个片段和每个自定义片段之间的自定义类
  • 我不知道你在做什么,但听起来接口比共享超类更适合。作为一般的 OOP 原则,应尽可能避免更深的类层次结构,因为它们会使代码库的灵活性和可维护性降低。
  • 这很有趣,因为我已经使用接口将数据从片段发送到活动。但我没有读到关于它们的任何信息表明它们将是我所需要的。我会再读一读。

标签: android kotlin android-fragments


【解决方案1】:

你肯定想使用一个接口。最直接的,可能也是最可行的解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-21
    • 1970-01-01
    • 2022-01-25
    • 2020-09-25
    相关资源
    最近更新 更多