私はFragmentPagerAdapter
を3つのタブで使用しています。各タブには複数のfragments
があり、これらのフラグメントのうちの1つに、ギャラリーまたはカメラから写真を取得するよう要求されています。問題は、Fragment
のタブではなく、Activity
のホストのonActivityResult()
が呼び出されていることです。感謝の意を表します。ここでアンドロイドは、フラグメントを使用してカメラまたはギャラリーから写真を取得します
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case MEDIA_TYPE_IMAGE_FROM_GALLERY:
if (resultCode == RESULT_OK) {
Uri selectedImage = data.getData();
String realPath = getImageRealPath(selectedImage);
realPaths.add(realPath);
Glide.with(mActivity)
.load(realPath)
.into(profile_imv);
}
break;
case MEDIA_TYPE_IMAGE_BY_CAMERA:
if (resultCode == RESULT_OK) {
Uri selectedImage = data.getData();
String realPath = getImageRealPath(selectedImage);
realPaths.add(realPath);
Glide.with(mActivity)
.load(realPath)
.into(profile_imv);
}
break;
}
}
は、私はこれがに結果の意図を渡しますstartActivityForResult(..)
に変更getActivity().startActivityForResult(..)
これはMainACtivity
onActivityResult()
コード
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Fragment fragment = getSupportFragmentManager().findFragmentByTag("USER_DETAILS");
if (fragment != null) {
fragment.onActivityResult(requestCode, resultCode, data);
}
}
あなたのギャラリーに投稿intent code – gStephin