【发布时间】:2014-06-02 07:18:03
【问题描述】:
我有一个FragmentFR1,其中包含几个NestedFragments; FRa、FRb、FRc。这些Nested Fragments 通过在FR1 的布局上按Buttons 进行更改。每个Nested Fragments 中都有几个输入字段;其中包括 EditTexts、NumberPickers 和 Spinners 之类的内容。当我的用户完成并填写Nested Fragments 的所有值时,FR1(父片段)有一个提交按钮。
然后我怎样才能从我的NestedFragments 中检索我的值并将它们带入FR1。
- 在每个
NestedFragment中声明并以编程方式处理所有Views。 - 父
Fragment、FR1处理NestedFragments的事务。
我希望这个问题足够清楚,我不确定是否需要发布代码,但如果有人觉得我可以这样做。
编辑 1:
这是我添加Nested Fragments 的方法:
tempRangeButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getChildFragmentManager().beginTransaction()
.add(R.id.settings_fragment_tertiary_nest, tempFrag)
.commit();
}
});
scheduleButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getChildFragmentManager().beginTransaction()
.add(R.id.settings_fragment_tertiary_nest, scheduleFrag)
.commit();
}
});
alertsButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getChildFragmentManager().beginTransaction()
.add(R.id.settings_fragment_tertiary_nest, alertsFrag)
.commit();
}
});
submitProfile.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
constructNewProfile();
}
});
我的constructNewProfile() 方法需要来自我的Nested Fragments 的值。
public Fragment tempFrag = fragment_profile_settings_temperature
.newInstance();
public Fragment scheduleFrag= fragment_profile_settings_schedules
.newInstance();
public Fragment alertsFrag = fragment_profile_settings_alerts
.newInstance();
以上是指父Fragment的字段;以及它们最初是如何实例化的。
【问题讨论】:
标签: android android-fragments parameter-passing android-nested-fragment navigation-architecture