Activity和Fragment之间传递数据

一、activity和activity之间传递数据

    1、用Intent的putExtra传递

        第一个activity

Activity和Fragment之间传递数据_第1张图片

        第二个activity

    

  

    2、用Bundle进行传递

 

二、activity传数据到Fragment

    在Activity中,将要传递的数据封装在Bundle中,用setArgument(Bundle bundle)方法传递数据,在Fragment中,用this.getArgument(),获取Bundle中的数据。

    Activity中的代码:

    Fragment中的代码:

Activity和Fragment之间传递数据_第2张图片

 

三、Fragment传递数据到Activity

    首先,在Fragment中定义一个接口回调方法,通过该回调方法把数据传递给Activity,Activity通过调用该回调方法即可得到需要的数据。

    Activity和Fragment之间传递数据_第3张图片

    当Activity添加Fragment时,会调用onAttach()方法,这个方法的作用就是看看Activity是否调用OnArticleSelectedListener接口,对传入的数据进行类型转换后,赋值给接口函数。

    Activity和Fragment之间传递数据_第4张图片

    当Fragment从Activity中剥离时,调用onDetach方法,把传递进来的数据释放掉。

        Activity和Fragment之间传递数据_第5张图片

你可能感兴趣的:(Android基础)