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

  • 相关阅读:
    防火墙iptables 设置
    CentOS 6.5系统中安装配置MySQL数据库
    判断服务是否开启,应用是否安装,并安装应用
    判断是移动端还是PC端
    二维码的生成细节和原理
    onclick 常用手册
    PHP json_encode函数中需要注意的地方
    利用PHP SOAP扩展实现简单Web Services
    Symfony2学习笔记之事件分配器
    听 Fabien Potencier 谈Symfony2 之 《What is Symfony2 ?》
  • 原文地址:https://www.cnblogs.com/bimingcong/p/4868195.html
Copyright © 2011-2022 走看看