【问题标题】:Calling fragment's onActivityResult from activity to pass data to fragment, method is deprecated从活动调用片段的onActivityResult将数据传递给片段,方法已弃用
【发布时间】:2022-10-02 22:46:27
【问题描述】:

我正在尝试通过以下方式将我在活动中收到的数据传递给片段

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    super.onActivityResult(requestCode, resultCode, data)
    myFragment.onActivityResult(requestCode, resultCode, data)
}

但是,myFragment.onActivityResult(requestCode, resultCode, data) 已弃用。如何在不使用已弃用代码的情况下将数据发送到片段级别?

标签: android android-fragments android-activity deprecated onactivityresult


【解决方案1】:

您必须改用片段侦听器。像这样:

                parentFragmentManager.setFragmentResultListener(
                "YOUR_REQUEST_KEY",
                viewLifecycleOwner
            ) { requestKey, result ->
                if (requestKey == "YOUR_REQUEST_KEY") {
                    //Do whatever you could previously do in this section in onActivityResult
                }
            }

当您想设置结果时,请执行以下操作:

    val bundle = Bundle()
    //Put your data in bundle here
    setFragmentResult("YOUR_REQUEST_KEY", bundle)

【讨论】:

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