最近在做毕设的时候,用到了Fragment向Activity中传递数据的问题。
通常,如果Activity向不同的Activity传递数据,最常用的是通过Intent.putExtra()方法,将简单类型的数据或可序列化的数据保存在Intent对象中,然后在目标Activity中使用getXxx(getInt,getString等)方法获得这些数据。
从Activity向Fragment中传递数据可以Fragment.getArguments方法向Fragment传递参数值,并且通过Fragment.getArguments方法获取传递的参数值。
从Fragment向Actvity中传递数据采用接口回调的方式实现数据的传递。采用接口回调方式:
(1)在Fragment中定义一个接口
public interface onTestListener {
public void onTest(String str);
}
(2)在Activity中实现这个接口,并实现接口中的方法
@Override
public void onTest(String str) {
text.setText(str);//可随意
}
(3)在Fragment中实现OnAttach方法
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
try {
mCallback = (onTestListener) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString()
+ " must implement OnHeadlineSelectedListener");
}
}
(4)声明接口变量,就可以调用接口中的方法
mCallback.onTest(edit.getText().toString());
这里是个源码例子,仅供参考;
http://download.csdn.net/detail/leegh1992/8638151