(Android)Fragment的基础入门学习笔记---Fragment与Activity通信的俩种方式

Fragment入门学习笔记

fragment与Activity通信

在一个容器activity中,如果要通过fragment对activity中的控件进行修改,有俩种方式

利用getActivity

首先在容器activity中创建方法

 public  void  setData(String text){
 		//mTvTitle为Activity中一个TextView
        mTvTitle.setText(text);
    }

在fragment中调用getActivity并强制转换为目标activity调用上述方法
((ContainerActivity)getActivity()).setData(“你好”);

((ContainerActivity)getActivity()).setData("你好");

即可完成修改activity中控件的值

利用回调

在Fragment中写一个内部接口类

  public  interface IOMessageClick{
        void onClick(String text);
    }

在fragment中通过外部传入实现接口

   private  IOMessageClick ioMessageClick;

    @Override
    public void onAttach(Context context) {
        super.onAttach(context);
        try {
            ioMessageClick = (IOMessageClick) context;
        }catch (ClassCastException e){
            throw new ClassCastException("Activity 需要实现IOMessageClickj接口");
        }

    }

activity实现fragment中定义的接口

public void onClick(String text) {
       mTvTitle.setText(text);
   }

fragment中调用实现通信

ioMessageClick.onClick("你好");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值