java - 将数据从选项卡式 Activity 中的 fragment 发送到 fragment

标签 java android android-tabbed-activity

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

最佳答案

我能想到两种解决方案,

首先,保留 Activity 中所有 4 个选项卡的引用。从您的 fragment 中,您可以使用 getActivity() 访问 Activity 并调用相关的更新函数。

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());
    }
}

关于java - 将数据从选项卡式 Activity 中的 fragment 发送到 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37872202/

相关文章:

android - dlopen 在旧版 Android 上失败

java - BigDecimal 初始化后的 Stange 值

适用于 Mac 和 Win 的 Java 应用程序安装程序和启动程序?

java - 为什么 void 关键字不用作方法参数?

android - 在android中添加到json对象的链接

java - 如何用 org.apache.commons.codec.binary.Base64 替换 android.util.Base64?

java - 我的选项卡式 Activity 未在选项卡上显示标题

android - 在 Android Studio 中未修改的新创建项目中,工具栏和状态栏在选项卡式 Activity 中重叠

java - 在Java中添加元素到列表中