首页 > 解决方案 > 调用另一个片段的视图寻呼机索引上的片段的 onActivityResult

问题描述

我有一个 MainAcitivity 并且在它上面我有片段 A,其中包含带有两个片段 B 和 C 的视图寻呼机 .....Frgamnet B 在片段 A 中的 0 索引处viewpager,并包含配置文件部分以从画廊或相机上传个人资料图片。当图片旋转时,调用了主要活动的肿瘤活性结果,然后我将其重定向到viewpagerFrgamenta的实例,但我的问题是如何将onActivityResult片段b调用b在imageview中设置为主显示图片?MainAcitivity -> 片段A -> 片段B

期待一个积极的答复..

片段B.java......

private void galleryIntent() {
    Intent intent = new Intent();
    intent.setType("image/*");
    intent.setAction(Intent.ACTION_GET_CONTENT);//
    check="file";
    startActivityForResult(Intent.createChooser(intent, "Select File"), SELECT_FILE);
}

public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == RESULT_OK) {
      if (check.equalsIgnoreCase("file"))
            onSelectFromGalleryResult(data);
        else if (check.equalsIgnoreCase("camera"))
            onCaptureImageResult(data);
    }
}

主要活动.java。

public void onActivityResult(int requestCode, int resultCode, Intent intent) {
    Fragment f = getSupportFragmentManager().findFragmentById(R.id.frame);
    if (f instanceof FragmentA) {    //fragement A  is viewpager fragment
        f.onActivityResult(requestCode, resultCode, intent);
    }
}

片段A.java............

public void onActivityResult(int requestCode, int resultCode, Intent intent) {
    getTargetFragment().onActivityResult(requestCode, resultCode, intent);
}

您好需要调用onActivityResultFragmentB 吗?

标签: androidandroid-fragmentsonactivityresult

解决方案


如果您想调用startActivityForResult片段,您将getActivity()首先使用。

private void galleryIntent() {
    Intent intent = new Intent();
    intent.setType("image/*");
    intent.setAction(Intent.ACTION_GET_CONTENT);//
    check="file";
    getActivity().startActivityForResult(Intent.createChooser(intent, "Select File"), SELECT_FILE);

}

推荐阅读