【问题标题】:Android new activity result APIAndroid 新活动结果 API
【发布时间】:2021-02-24 16:12:12
【问题描述】:

我想使用新的活动结果 API。我的 Activity 中有这个。

val openPostActivity = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
            //Do something with the result
        }

并调用它来打开一个新的意图。我想知道的是是否有任何方法可以让这个活动的子片段也获得结果?

【问题讨论】:

  • 我认为您必须通过片段管理器获取片段,然后在子片段上调用方法。

标签: android android-fragments android-activity startactivityforresult


【解决方案1】:

首先,定义一个接口并在Fragment中实现,它将帮助我们在Activity中接收到数据后,将数据从Activity传递到Fragment。

interface SetDetailHandler {
    fun setDetails(detail: String)
}

然后在activity中,找到fragment,使用接口方法发送数据。

 supportFragmentManager.fragments.firstOrNull().let { fragment ->
                val setDetailHandler = fragment as? SetDetailHandler
                setDetailHandler?.setDetails("Hello")
            }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-10
    • 1970-01-01
    • 2018-01-24
    • 2021-03-25
    • 1970-01-01
    • 1970-01-01
    • 2020-08-10
    • 1970-01-01
    相关资源
    最近更新 更多