zoukankan      html  css  js  c++  java
  • fragment Activity之间传值的方法 之------------接口回调

    首先  定义一个  回调接口

    1. public interface FragmentCallBack {  
    2.     public void callbackFun1(Bundle arg);  
    3.   
    4.     public void callbackFun2(Bundle arg);  
    5. }  

    让Activity实现了这个接口

    1. public class MainActivity extends ActionBarActivity implements FragmentCallBack
    2. {  
    3.       
    4.     private Button btn;  
    1.  @Override  
    2.     public void callbackFun1(Bundle arg) {  
    3.         // TODO Auto-generated method stub  
    4.         switchFragment();//通过回调方式切换  
    5.     }  
    6.   
    7.     @Override  
    8.     public void callbackFun2(Bundle arg) {  
    9.         // TODO Auto-generated method stub  
    10.         changeButtonColor();//通过回调方式调用Activity中的方法  
    11.     }  
    12.   
    13. }  

    最后在fragment的onAttach中绑定在点击事件中调用

    1. @Override  
    2.     public void onAttach(Activity activity) {  
    3.         // TODO Auto-generated method stub  
    4.         super.onAttach(activity);  
    5.         fragmentCallBack = (MainActivity)activity;  
    6.     }  
    1.  btn.setOnClickListener(new OnClickListener() {  
    2.               
    3.             @Override  
    4.             public void onClick(View v) {  
    5.                 // TODO Auto-generated method stub  
    6.                 fragmentCallBack.callbackFun1(null);  
    7.             }  
    8.         });  

      同理  activity向fragment传值时只需要将new 出来的fragment上转型为fragment实现的接口类型 在activity中的点击事件中调用回调方法就可以传值了

    fragment之间的传值最好是通过activity传值

     

    activity中用getSupportFragmentManager   fragment中还有fragment用getChildFragmentManager

  • 相关阅读:
    06.数组模拟栈-简易计算器
    05.单向环形链表应用 -- 约瑟夫环
    02.数组模拟环形队列
    01.稀疏矩阵与二维数组相互转化
    大数字相乘
    13.打包发布
    悦苗园公益活动
    程序猿打招自己的电子图书馆
    【技能】提高网站可用性
    【微信技能】如何通过微信号知道对方微信的二维码
  • 原文地址:https://www.cnblogs.com/bimingcong/p/4868195.html
Copyright © 2011-2022 走看看