从Fragment内部将数据传递给Activity

时间:2017-05-14 16:56:34

标签: android android-intent android-activity fragment

如何将数据从Fragment传递到其父Activity?

我的片段代码和活动代码:

Picture of code

1 个答案:

答案 0 :(得分:1)

尝试使用接口。

任何应该将数据传递回其包含活动的片段都应该声明一个接口来处理和传递数据。然后确保包含的活动实现了这些接口。例如:

在你的片段中,声明接口......

public interface OnDataPass {
    public void onDataPass(String data);
}

然后,将包含类的接口实现连接到onAttach方法中的片段,如下所示:

OnDataPass dataPasser;

@Override
public void onAttach(Activity a) {
    super.onAttach(a);
    dataPasser = (OnDataPass) a;
}

在你的片段中,当你需要处理数据传递时,只需在dataPasser对象上调用它:

public void passData(String data) {
    dataPasser.onDataPass(data);
}

最后,在实现OnDataPass ...的包含活动中

@Override
public void onDataPass(String data) {
    Log.d("LOG","hello " + data);
}

这个答案由@HarloHolmes提供。