答案 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提供。