从选项卡式活动中的片段发送数据到片段

时间:2016-06-17 02:31:35

标签: java android android-tabbed-activity

我有一个带有四个标签的标签式活动。每个选项卡都有自己独特的片段。我想从前三个选项卡中收集数据,进行分析,然后将分析的数据发送到第四个选项卡中的TextView。我该怎么做?

1 个答案:

答案 0 :(得分:1)

我能想到两个解决方案,

首先,保留活动中所有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());
    }
}