博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
fragment Activity之间传值的方法 之------------接口回调
阅读量:4651 次
发布时间:2019-06-09

本文共 1099 字,大约阅读时间需要 3 分钟。

首先  定义一个  回调接口

  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

 

转载于:https://www.cnblogs.com/bimingcong/p/4868195.html

你可能感兴趣的文章
electron-vue 更新 使用electron-update的版本
查看>>
设计模式_责任链模式
查看>>
iOS 生命周期 -init、viewDidLoad、viewWillAppear、viewDidAppear、viewWillDisappear、viewDidDisappear 区别和用途...
查看>>
Web存储使用详解(本地存储、会话存储)
查看>>
JS库
查看>>
c/c++优化结构控制
查看>>
最新Webstrom, Idea 2019.1.3 的激活
查看>>
C# chart,有关如何在鼠标移动到Series上时显示节点及数据 (有待继续更新)
查看>>
HDU 6201【最长路+SPFA转化为流问题求解***】
查看>>
Jmeter一、开源软件的崛起
查看>>
python sys.argv[] 用法示例
查看>>
Vcl.FileCtrl.SelectDirectory
查看>>
Java实现导入Excel文件
查看>>
动态执行超过4000个字符的SQL
查看>>
redhat 6.0更换 yum
查看>>
windows phone (27) 基础Button
查看>>
Java 判断是否为回文字符串
查看>>
(安全)工厂方法模式
查看>>
Hdu【线段树】基础题.cpp
查看>>
SQLITE入门-逐步讲解SQLITE命令行(六)
查看>>