我正在尝试实施nested fragments,但我遇到了问题。
当我在一个中添加 2 个不同fragments的两个不同的tags(“tag1”,“tag2”)时ChildFragmentManager,fragment一切似乎都很好。
但是当我调用getChildFragmentManager().findFragmentByTag这些时tags,只fragment返回第一个。我要null上第二个了。
要添加fragments我使用:
PersonsImageFragment imf = new PersonsImageFragment(imgPreview, 1);
android.support.v4.app.FragmentTransaction transaction = frag.getChildFragmentManager().beginTransaction();
transaction.add(R.id.frame, imf, "tag1")
.addToBackStack(tagName)
.commit();
imf = new PersonsImageFragment(imgPreview, 2);
transaction.add(R.id.frame2, imf, "tag2")
.addToBackStack(tagName)
.commit();
我错过了什么吗?
编辑:
f = getChildFragmentManager().findFragmentByTag("tag1");
// f.onActivityResult(requestCode, resultCode, data);
f = getChildFragmentManager().findFragmentByTag("tag2");
// f.onActivityResult(requestCode, resultCode, data);
编辑2:
我正在尝试做的是,我有ViewPager并且在其中一个fragments我有custom view,它负责拍照并在ImageView. 所以nested fragment正在调用camera intent并在onActivityResult其中更新ImageView. 如您所知,有一个bugin ,Nested Fragments我必须onActivityResult从nested fragment. Parent Fragment所以在 Parent'sonActivityResult我试图得到nested fragment我需要的并调用它的onActivityResult.
编辑 3:
正如我所说,我有Custom View,负责拍照和炫耀。我Custom Views在 Parent 中有 3 个Fragment Layout。当用户点击其中任何一个时,它应该拍照并预览。如果我只custom view向父级添加 1 个fragment它可以工作,但是当我使用其中 3 个时,它们click event都可以工作,这意味着相机fragment已连接,但我无法调用onActivityResult其他两个,因为我无法得到fragment那个startedActivityForResult,它是null。因此,在我看来,问题应该在于添加nested fragments,transaction但我找不到。