【发布时间】:2017-05-14 16:56:34
【问题描述】:
【问题讨论】:
标签: android android-intent android-activity fragment
【问题讨论】:
标签: android android-intent android-activity fragment
尝试使用接口。
任何应该将数据传递回其包含活动的片段都应该声明一个接口来处理和传递数据。然后确保您的包含活动实现了这些接口。例如:
在您的片段中,声明接口...
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 提供。
【讨论】: