0
我有一個帶有四個選項卡的選項卡式活動。每個選項卡都有其自己的唯一片段。我想從前三個選項卡收集數據,分析它,並將分析的數據發送到第四個選項卡中的TextView。我將如何做到這一點?從選項卡式活動中的片段發送數據到片段
我有一個帶有四個選項卡的選項卡式活動。每個選項卡都有其自己的唯一片段。我想從前三個選項卡收集數據,分析它,並將分析的數據發送到第四個選項卡中的TextView。我將如何做到這一點?從選項卡式活動中的片段發送數據到片段
有兩種解決方案,我能想到的,
首先,讓所有的4個選項卡的引用您的活動。從您的片段中,您可以使用getActivity()
訪問該活動並調用相關更新功能。
public class YourActivity {
...
public void updateFourthFragment(Object data) {
fourthFragment.update();
}
}
public class FirstFragment {
...
public void onInput() {
((YourActivity) getActivity()).updateFourthFragment(input);
}
}
...
其次,使用事件總線,如http://square.github.io/otto/
public class FirstFragment {
...
public void onInput() {
bus.post(new InputEvent(input));
}
}
public class FourthFragment {
...
@Subscribe
public void onInputEvent(InputEvent event) {
handleInput(event.getInput());
}
}
請記住,你只需要在一個片段來更新數據,如果它是當前正在觀看的一個。你可以使用這裏的答案來實現你想要的東西:http://stackoverflow.com/questions/36503779/refresh-data-in-viewpager-fragment –