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

  • 相关阅读:
    点击导航栏,实现下方内容改变
    简述23种软件设计模式
    MyFirstServlet学习笔记
    淘宝网---6个质量属性
    架构漫谈阅读感悟一
    大型网站技术架构:核心原理与案例分析阅读笔记二
    软件体系结构师工作流程
    大型网站技术架构:核心原理与案例分析阅读笔记一
    软件需求分析教程阅读笔记四
    软件需求分析教程阅读笔记三
  • 原文地址:https://www.cnblogs.com/bimingcong/p/4868195.html
Copyright © 2011-2022 走看看