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

  • 相关阅读:
    U盘安装WIN10专业版
    jquery template模版引擎
    MySQL大数据量快速分页实现(转载)
    MySQL for Windows 解压缩版安装 和 多实例安装
    macbook 重装win7
    MySQL for Visual Studio Version
    VS2010中没有ado.net entity data model实体数据模型这一选项-解决办法
    修改server 2008远程桌面端口
    懒加载
    html-css 常用
  • 原文地址:https://www.cnblogs.com/bimingcong/p/4868195.html
Copyright © 2011-2022 走看看