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

  • 相关阅读:
    简练软考知识点整理-项目定义活动过程
    简练软考知识点整理-规划进度管理
    简练软考知识点整理-控制范围
    软考考前注意事项
    简练软考知识点整理-确认范围管理
    数据库之表关系
    数据库引擎
    数据库概念
    IO模型
    异步回调,线程队列,协程
  • 原文地址:https://www.cnblogs.com/bimingcong/p/4868195.html
Copyright © 2011-2022 走看看