Android fragments 如何更新启动活动的片段?

Android fragments 如何更新启动活动的片段?,android-fragments,android-activity,Android Fragments,Android Activity,我有一个片段a。在a中有一个按钮,它启动一个名为B的活动。一旦活动B完成,我有没有办法在片段a中进行一些更改?请提供帮助。您可以从作为片段a父级的活动启动TractivityForresult。您必须输入请求代码。比如说: val requestCode = 1 然后将setResult(Activity.RESULT_OK)添加到活动B的OnDestroy()中 OnDestroy()应该如下所示: override fun onDestroy() { setResult(A

我有一个片段a。在a中有一个按钮,它启动一个名为B的活动。一旦活动B完成,我有没有办法在片段a中进行一些更改?请提供帮助。

您可以从作为片段a父级的活动启动TractivityForresult。您必须输入请求代码。比如说:

val requestCode = 1
然后将setResult(Activity.RESULT_OK)添加到活动B的OnDestroy()中

OnDestroy()应该如下所示:

override fun onDestroy() {
        setResult(Activity.RESULT_OK)
        super.onDestroy()
    }
最后,将此添加到片段中:

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)
        if (requestCode == requestCode)
            // make some changes
            // you can also add a check to see if resultCode equals Result.OK
    }
这将在活动B完成时激活


希望有帮助

非常感谢你。它对我有用。虽然我没有使用Activity的startActivityForResult(…)方法,而是使用Fragment.startActivityForResult(…),而不是重写Activity.onActivityResult(…),而是重写Fragment.onActivityResult(…)。