//Fragment向Activity传值(接口回调)
//1.定义一个接口,在该接口中声明一个用于传递数据的方法
//2.让Activity实现该接口,然后重写回调方法,获取传入的值,然后做处理
//3.在自定义Fragment中,声明一个回调接口的引用
//4.在onAttach中法中,为第三步的引用赋值
//5.用引用调用传递数据的方法
在fragment.java
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment return inflater.inflate(R.layout.fragment_fragment3, container, false); } private MyListener ml; @Override public void onAttach(Context context) { super.onAttach(context); ml = (MyListener) getActivity(); ml.sendMsg("消息"); } public interface MyListener{ public void sendMsg(String msg); }
在mainactivity.java 实现接口
public class MainActivity extends AppCompatActivity implements Fragment3.MyListener { @Override public void sendMsg(String msg) { Log.e(TAG,"Fragment传回的数据:"+msg); } }
一个示例:
https://www.jianshu.com/p/fce1e2b011ae
原文:https://www.cnblogs.com/yuguangyuan/p/13226781.html