Fragment(八)——Fragment向Activity传值

前言

之前讲过Activity向Fragment传值的具体方法,也附带讲了些Activity向Fragment传值需要注意的问题,然后讲了activity和fragment对返回键的处理。那么,这节我们就来讲讲Fragment怎么向Activity传值吧。

今天涉及的知识有:

  1. Fragment 向 activity 传值的前提条件
  2. Fragment的代码处理
  3. Activity对于回传代码的接收处理
  4. 效果图和项目结构图

先来波效果图吧:


1.gif

一. Fragment 向 activity 传值的前提条件

Fragment 向activity 传值,那么首先我们需要在fragment里面定义一个公开传值的接口类,如下:

public class FragmentB extends Fragment{
    
    //其他代码省略
   //......

    /**fragment给activity回传值的接口**/
    public interface OnFragmentListener{
        /**object需要实现Serializable或Parcelable接口**/
        void onFragment(String clsNameDetail, Object object);
    }

}

其中,clsNameDetail作为是传到Activity中接收用于区分来自哪个Fragment的标志,我一般习惯用当前Fragment的类名,第二个参数 object 为传值的具体内容,最好规定一个泛型,方便传不同类型的值。

二. Fragment的代码处理

声明完回调接口后,Fragment还需要做以下几件事:

  1. 声明回调传值的接口对象
  2. 写一个用于传值设置回调监听的方法
  3. 设置回调监听
  4. 在fragment需要向activity传值的地方调用onFragment方法将值传给activity

具体步骤代码如下:

还有 70% 的精彩内容
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
支付 ¥2.00 继续阅读

相关阅读更多精彩内容

友情链接更多精彩内容