【发布时间】:2013-07-11 10:49:40
【问题描述】:
我知道之前有人问过这个问题,但我不太明白如何实现它。 我有一个片段“myFragment”,我在其中创建了一个“myDialogueFragment”的对象。 当我从 myFragment 调用它时,我想将一些值传递给 myDialogueFragment。 我有一个整数 num,我想将它传递给 myDialogueFragment 并将该数字与来自 myDialogueFragment 的其他一些信息一起存储在本地数据库中。
我可能弄错了,但我看到的所有代码都是关于将数据从 myDialogueFragment 发送回 myFragment,这并不是我真正想要的。
static MyDialogFragment newInstance(int num) {
MyDialogFragment f = new MyDialogFragment();
// Supply num input as an argument.
Bundle args = new Bundle();
args.putInt("num", num);
f.setArguments(args);
return f;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mNum = getArguments().getInt("num");
...
}
因此,此代码获取 myFragment onCreate() 方法中的参数。我想在 myFragment() 中发送参数并在 myDialogueFragment 中接收它们。
我怎样才能做到这一点?
【问题讨论】:
-
你的代码不能完全达到你想要的吗?您的 DialogFragment 中有 mNum,您可以在 DialogFragment 的整个生命周期中使用它,
-
num 在 Fragment 中而不在 DialogFragment 中,我想在 DialogFragment 中传递 num 并从那里检索它
-
DialogFragment 扩展了 Fragment,你可以在它的 onCreate() 中做同样的事情。
-
嗯,我还没有这样想过,让我试试,所以你告诉我,我可以使用相同的,但在 onCreateDialog()..
标签: android arguments fragment