如何在Fragment中调用OnActivityResult以及它是如何工作的?

Shw*_*dha 20 android fragment android-intent onactivityresult

我想知道是否有可能在onActivityResult()Fragment中使用,如果是,那么它是如何工作的,请举例说明.

小智 20

你会打电话:

startActivityForResult(i, 1);
Run Code Online (Sandbox Code Playgroud)

然后:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
   //super.onActivityResult(requestCode, resultCode, data); comment this unless you want to pass your result to the activity.
}
Run Code Online (Sandbox Code Playgroud)

  • 我在一个片段中启动ActivityForResult,并希望以任何片段/活动接收,但onReceive数据始终为空。 (2认同)

Nil*_*hod 5

是的,您可以OnActivityResult在 Fragment.like 内部使用

public void onActivityResult(int requestCode, int resultCode, Intent intent) {
//super.onActivityResult(requestCode, resultCode, intent);
// perform your action here
}
Run Code Online (Sandbox Code Playgroud)

编辑

有关更多信息,请检查这个旧问题

/sf/answers/1196012261/


And*_*eek 5

在活动中使用此代码。

public void onActivityResult(int requestCode, int resultCode, Intent intent) {
    super.onActivityResult(requestCode, resultCode, intent);
    Fragment fragment = (Fragment) getSupportFragmentManager().findFragmentByTag(childTag);
    if (fragment != null) {
        fragment.onActivityResult(requestCode, resultCode, intent);
    }
}
Run Code Online (Sandbox Code Playgroud)