如果我在 XML 布局中声明一个片段,如何向它传递一个捆绑包?
我有一个活动,我用一个片段替换了它。该活动采用 Intent,其中包含有关活动应显示哪些数据的额外信息。
现在,我的活动只是一个执行相同工作的片段的包装器,如果我在 XML 中声明该片段并带有标记,那么如何将该捆绑包获取到该片段?
如果我使用 FragmentTransaction 将 Fragment 放入 ViewGroup 中,我将有机会在 Fragment 构造函数中传递此信息,但我想知道在 XML 中定义片段的情况。
我有一个活动,我用一个片段替换了它。该活动采用 Intent,其中包含有关活动应显示哪些数据的额外信息。
现在,我的活动只是一个执行相同工作的片段的包装器,如果我在 XML 中声明该片段并带有标记,那么如何将该捆绑包获取到该片段?
如果我使用 FragmentTransaction 将 Fragment 放入 ViewGroup 中,我将有机会在 Fragment 构造函数中传递此信息,但我想知道在 XML 中定义片段的情况。
现在,我的活动只是一个执行相同工作的片段的包装器,如果我在 XML 中声明该片段并带有标记,那么如何将该捆绑包获取到该片段?
你不能。
但是,欢迎您调用您在通货膨胀后检索片段,然后在片段上调用某些方法将数据与它相关联。虽然显然不可能,但您的片段可以安排通过其他方式(,等)在配置更改后保留数据本身。findFragmentById()FragmentManagersetArguments()onSaveInstanceState()setRetainInstance(true)
这不是一种封装的方式,但我最终从父活动“拉”了捆绑包:
Bundle bundle = getActivity().getIntent().getExtras();