myTimeshascoming 2014-10-13 03:13 采纳率: 100%
浏览 5785
已采纳

|||android中activity与fragment之间利用回调函数传递数据|||

最近开始学习android开发,碰上大问题,想实现这样一个效果,点击fragment中的一个button按钮,然后将这个按钮文本传递给activity,同时在activity剩余的布局中也创建一个相同的按钮,,不知道看懂我说的没?
在网上各种找资料说利用fragment向activity传递数据时需要在fragment创建一个回调接口,可是创建好了还是不知道怎么传递,主要问题在于activity中如何实现此接口和重写此方法?有哪位可以给我一些完整的代码吗?拜托各位朋友帮我解决困扰我好多天问题!!!!

附上一张图啊 点击此红色按钮 按钮二字会传入下面这个activity的linearlayout中并生成一个按钮

http://img.bbs.csdn.net/upload/201410/13/1413172345_277720.png

  • 写回答

1条回答

  • 大虫子猪NO1 2014-10-13 08:31
    关注

    大致思路:
    1、Activity中这样写(假定Activity名为AAAActivity):
    //先定义fragment
    BaseFragment fragment = null;
    //切换Fragment 时获取实例
    fragment = XXXFragment.getInstance();
    //再在Activity中写带参的public方法,为了接收来自fragment中传递过来的参数
    public void aaa(String fragment中按钮的文字) {...方法中写你的创建button的逻辑}
    2、在Fragment中这样写:
    //首先定义一个 public XXXFragment继承 BaseFragment
    public class XXXFragment extends BaseFragment{...}
    //然后在Fragment中写如下方法
    public static XXXFragment getInstance() {
    XXXFragment instance = new XXXFragment();
    return instance;
    }
    //再你点击完fragment中的button后,写如下一代码:
    ((AAAActivity) getActivity()).aaa(frament中的文字);

    应该能看懂吧

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥60 Python如何后台操作Vmwake虚拟机键鼠
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容