传递包而不替换片段

时间:2013-06-07 20:57:30

标签: android android-fragments bundle

有没有办法将捆绑包发送到fragment而不将fragment放入容器?我问,因为我想从Strings输入字段中取一些EditTexts,然后在另一个fragment中调用它们。

我有这样的代码

Bundle bundle = new Bundle();
Fragment fragment = new Assessment_Fragment();
bundle.putString("company", companyName);
bundle.putString("project", projectName);
fragment.setArguments(bundle);

getFragmentManager().beginTransaction()
.setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out)
.replace(R.id.header_fragment_container, fragment).commit();

在此代码中,我使用事务传递包,但我也替换了“header_fragment_container”中的现有fragment。我不想那样做。我只想将捆绑的数据传递给指定的fragment。当最终调用fragment时,我将收到该包。这可能吗?

1 个答案:

答案 0 :(得分:4)

  

这可能吗?

不确定。只需删除最后一个Java语句(getFragmentManager()....)。

现在,关于创建片段是否合理,那么永远不要将它添加到片段管理器(无论是否带有UI),这是另一回事。 Java支持许多类; Fragment只是其中之一。如果您需要通用数据容器,请选择较轻的重量,例如Bundle本身。