【问题标题】:Communication between Activity and Fragment in Kotlin [closed]Kotlin 中 Activity 和 Fragment 之间的通信 [关闭]
【发布时间】:2017-10-23 13:12:48
【问题描述】:

随着 google 宣布 Kotlin 作为 Android 开发的官方语言,我正在尝试使用 Kotlin 构建应用程序。

问题:如何使用 Kotlin 在 Activity 和 Fragment 之间进行通信?

谢谢!

【问题讨论】:

标签: java android kotlin


【解决方案1】:

正如@SergiyKorotun 建议的那样。 Kotlin 只是一种语言,它不会改变 Android 的基础。 你应该看看Android团队添加的ViewModel,它可以帮助你实现ActivityFragment之间的通信。

我什至制作了一个示例应用程序来帮助理解ViewModelLiveData。该应用程序是用 Kotlin 编写的。 Android Architecture News App Sample

【讨论】:

  • 我只是想知道我们在 Java 中所做的语法。感谢您的回答和此示例
  • 伙计,我希望 ViewModel 脱离 alpha 状态。看起来很有希望
  • 它现在处于 alpha 状态。查看 developer.android.com/arch
【解决方案2】:

与 Java 相同。 Kotlin 只是一种语言。对于通信,您可以使用一些接口或SharedViewModel,例如在新架构组件中

【讨论】:

  • 你能给出一个语法演示吗?我知道Java中的通信,但不知道Kotlin。
  • @AmirRaza,只需将您的 java 代码复制并粘贴到 kotlin 的文件中,android studio 就会为您转换代码
【解决方案3】:

一个片段和一个活动可以通过全局变量进行通信。但我建议他们通过共享的 View Object 值进行通信,因此其他片段可能会修改它。在 Kotlin 中,您可以使用

ExampleFrament.newInstance().view 

MainActivity() 的范围内,因此其他辅助函数可以访问该视图。

【讨论】:

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