android - 使用回调在两个 fragment 之间传递数据

标签 android android-fragments

我正在尝试使用回调将数据从一个 fragment 传递到另一个 fragment ,但我在做这件事时遇到了麻烦。在我的 Activity 中,我调用一个 fragment A,它调用 fragment B。在 fragment B 中,我选择了一个项目,我需要将该项目传递给 fragment A。谁能告诉我该怎么做?

我知道通过回调我可以将数据从 fragment B 获取到 Activity ,但是我如何将该数据发送到 fragment A 并保持状态那个 fragment ?

最佳答案

您的 Activity 应实现回调,然后回调可以找到 fragment B 并将数据发布到其公共(public)方法之一。如果您让 fragment B 中的公共(public)方法接受您需要的任何数据,您应该能够直接传递它。

像这样:

@Override
public void onCallback(String data) {
    FragmentB frag = (FragmentB) getSupportFragmentManager().findFragmentByTag(FragmentB.class.getSimpleName());
    if (frag != null) {
        frag.myMethod(data);
    }
}

关于android - 使用回调在两个 fragment 之间传递数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27320388/

相关文章:

android - 如何从 Android 设备获取默认的 HTTP USER AGENT?

java - 想要将 POST 请求后收到的响应存储在可以在内部类外部访问的变量中

android - AppCompat v7 工具栏上/后箭头不起作用

android - 在 fragment 中使用相机预览时性能下降

java - 如何在 fragment 的两个不同类中发送 Intent

Android 弯曲 View Canvas 以提供 curl 效果

android - Realm copyToRealmOrUpdate v/s insertOrUpdate

android - NavUtils.getParentActivityIntent() 抛出 "Activity does not have a parent activity name specified."

android - CardView 内部的 TabLayout

android - 尝试访问新 fragment 数据时调用旧 fragment