Android-Activity与Fragmeng的相互传值

这是android开发必须遇到的问题,那么今天我们来探讨一下。

Activity传值给Fragment ,通过Bundle。

方法一: 一般Framgent都不是单独存在的,所以假设如果我们从ActivityA跳转到FragmentA ,而FragmentA的宿主是MainActivity。

 注:Fragment可以根据宿主Activity,Intent直接跳转到其他Activity,而activity则不能直接跳转到Fragment,只有先跳转到宿主Activity.

第一步:ActivityA  Intent 直接跳转到 MainActivity,,Intent是携带Bundle对象跳转的。(此处代码省略................)

第二步:MainActivity获取ActivityA传递的Intent对象,在传递给FragmentA

//获取ActivityA传递的Intent的Bundle

Intent mIntent =getIntent();

Bundle mBudle =mIntent.getExtras();

获取到了那么怎么给Fragmeng呢?

方式一:

MainActivity 发送方法:,

//将Bundle对象通过setArguments 设置给要传递的Fragment,

............此处你们自己写自己的FragmentManager和FragmentTransaction,根据个人情况

MyFragment myFragment =new MyFragment();

myFragment.setArguments(mBudle );  //看这里

FragmentTransaction.add(R.id.....,myFragment ,xxxx);

FragmentTransaction.commit();

FramentA接收方法:

方式二:

MainActivity定义公共返回值方法

public static Bundle  getBundle(){

return  mIntent;

}

Fragment 接收方法:

Bundle mBundle =MainActivity.getBundle();

if(mBundle  != null){

.............获取值之后的方法

}

Fragment传值给 Activity 通过 Bundle。和上面类似

思路:在Framgment中定义接口回调给传递给Activity 

我一般将这部分代码写在BaseFragmeng中

直接上图了:

fragmeng操作

我这里将Fragment传给activity的类型是object,你可以换成Bundle

注意还有一步如下图:

Activity中操作

implements BaseFragment.FragmentCallBack

重写传参方法,接受fragmeng数据

注意 :接受的数据是 param[0] 获取的

完毕!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏腾讯Bugly的专栏

《Android基础:Fragment,看这篇就够了》

| 导语 Fragment作为Android最基本,最重要的基础概念之一,在开发中经常会和他打交道。本文从为什么出现Fragment开始,介绍了Fragment...

1.6K60
来自专栏潇涧技术专栏

Android Dependency Injection Libraries

本文总结并对比了三种Android依赖注入库:Butter Knife、RoboGuice、Android Annotations的使用

9610
来自专栏KK的小酒馆

APP启动引导页的制作,用ViewPager实现翻页动画

这次制作App的引导页,主要用到2个知识“SharedPreferences 和 ViewPager”

51510
来自专栏Android常用基础

Dagger2-从入门到精通(下)

继上篇文章,这篇我们来学习Dagger2的高级用法。如果没看上篇文章的话最好先看下上篇文章再来学习本章,因为本章是接续上篇文章来写的,直接来看的话可能效果不是很...

81920
来自专栏Android干货园

Android谈谈封装那些事--BaseActivity和BaseFragment(一)

版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/lyhhj/article/details/53...

84530
来自专栏Android Note

Android-实用的MVP

16730
来自专栏CodingBlock

Android学习笔记(四)深入探讨Activity

  在应用程序中至少包含一个用来处理应用程序的主UI功能的主界面屏幕。这个主界面一般由多个Fragment组成,并由一组次要Activity支持。要在屏幕之间切...

240100
来自专栏Android学习之路

Dagger2使用攻略-基础部分

在这篇文章中,我会介绍 什么是依赖注入,Dagger2是什么,解决什么问题以及基础注解的使用

26940
来自专栏Android干货

安卓开发_数据存储技术_SharedPreferences类

31580
来自专栏刘望舒

RxBinding使用和源码解析

作者 | juexingzhe 地址 | https://www.jianshu.com/u/ea71bb3770b4 声明 | 本文是 juexingzhe...

470100

扫码关注云+社区

领取腾讯云代金券