我正在尝试实施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
. 如您所知,有一个bug
in ,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
但我找不到。