Fragment接收Activity的回传数据中的坑

Activity与Fragment互传数据 Activity与Fragment 首先需要明确的是,Activity与Fragment是多对多关系。一个Activity中可以有多个Fragment,一个Fragment也可以存在于多个Activity中。 Activity向Fragment传递数据 跟Activity之间的互传数据一样需要通过Bundle对象作为载体进行传递。 Fragment可以通过有参构造函数的参数接收Activity传来的数据。 public AFragment(String s) { Bundle bundle = 阅读详情

项目中需要通过Fragment接收Activity的回传数据,于是乎便想到了调用OnActivityResult去接收Activity的回调,但是试了多次之后发现并没了走OnActivityResult方法,于是百度了一下,说要重写FragmentActivity,如下

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        /*在这里,我们通过碎片管理器中的Tag,就是每个碎片的名称,来获取对应的fragment*/
        Fragment f = fragmentManager.findFragmentByTag(curFragmentTag);
        /*然后在碎片中调用重写的onActivityResult方法*/
        f.onActivityResult(requestCode, resultCode, data);
    }
当我加到BaseFragmentActivity中之后调试了下,发现还是没有走这个OnActivityResult, 大写的郁闷....

后来细细的回忆了一下Fragment和Activity的生命周期,发现我应该在主Activity力写OnActivityResult,而不是在FragmentActivity中, 顿时恍然大悟

要注意的地方是这里

                OtherStationFragment os = new OtherStationFragment();
		os.onActivityResult(requestCode, resultCode, data);
在加载Fragment的Activity中写完onActivityResult后,要传给Fragment,必须要把这个事件分给Fragment去处理,否则Activity就会在这里就已经拦截掉,

在Fragment里当然收不到onActivityResult回传了,这样就ok了


关于fragment跳转activity的回传值问题 fragment跳转activity之后,activity处理后的数据返回原fragment,怎么得到这个值,我头疼了半天,最后终于搞出来了!因为是初学者,代码有点啰嗦,但道理很简单。话不多说,直接贴代码: 这是mainactivity: import android.content.Intent; import android.os.Bundle; import android. 阅读详情

相关推荐

Fragment跳转时传递参数及结果回传的方法(推荐)

今天总结一下Fragment间的参数传递及结果返回的方法,非常不错,具有参考借鉴价值,需要的朋友参考下

Fragment跳转时传递参数及结果回传的方法

今天总结一下Fragment间的参数传递及结果返回的方法。 效果图: 1、点击“加载第二个Fragment按钮”,加载出第二个Fragment,同时传递过去参数:“从Fragment1传来的参数”这几个String; 2、当用户点击第二个Fragment中的几个图片时,将点中的结果返回给第一个Fragment,将用户的选择在第一个Fragment显示出来

Android移动开发者的专栏 2490

WandB本地部署踩坑指南:从Docker启动到License更新的完整流程(附常见错误解决方案)

本文详细介绍了Weights & Biases(WandB)机器学习实验管理平台的本地化部署全流程,涵盖从Docker环境搭建、许可证管理到常见错误排查的实战经验。针对企业级应用场景,文章还提供了性能优化、高可用架构设计及开源替代方案Trackio的评估与迁移策略,为构建安全、可控的内部实验追踪平台提供完整解决方案。

potato的博客 567

记录解决fragment中onActivityResult不回调用的问题

开始入坑kotlin了 解决办法:在宿主activity中 override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) if (supportFr...

顾曲周郞的博客 357

服务器冗余电源维修图纸,冗余热备份电源的电路图设计

在设计某高可靠性计算机系统时,要求其配套电源采取冗余设计。一般来说,可以采取的方案有容量冗余、冗余冷备份方式、并联均流的N+1备份方式、冗余热备份方式。容量冗余是指电源的最大负载能力大于实际负载,也就是“大马拉小车”,其缺点是不利于提高电源的效率,而且对提高电源的可靠性意义不大。冗余冷备份方式是指电源由两个或多个功能相同的单元模块组成,电源启动后由其中一个单元模块向设备供电,当工作单元发生故障时,...

weixin_39671509的博客 1995

《哥谭神话-工程篇》01.Palantir 平台架构解析-混乱数据如何转化唯一真相源?

Palantir 平台的架构哲学可以概括为将洞察落地为行动,其核心是将“获取唯一真相”能力深度嵌入现有的、复杂的工作流程中,成为提升运营效率和决策质量的倍增器。

894

Android --- 运行时Fragment如何获取Activity中的数据,又如何将数据传递到Activity中呢?

在 Fragment 中,可以通过 getActivity() 方法获取当前 Fragment 所依附的 Activity 实例。使用 ViewModel 来管理数据,Fragment 和 Activity 都可以通过获取同一个 ViewModel 实例来共享数据。定义一个接口,在 Fragment 中实现该接口,并在 Activity 中设置接口的回调,这样可以实现 Fragment 向 Activity 传递数据的双向通信。

梁同学与Android 1709

Unity手游优化实战:用GPU Instancing把草地渲染的DrawCall从8000降到20(附完整Shader)

本文详细介绍了Unity手游中利用GPU Instancing技术优化草地渲染的实战方法,将DrawCall从8000降至20。通过Shader改造和性能优化技巧,开发者可以在移动端实现高效渲染,显著提升游戏性能。文章包含完整的Shader代码和优化策略,适合Unity开发者学习应用。

weixin_33691817的博客 488

更多关于Fragment的使用

承接上篇 Fragment如何接收argument参数 Fragment如何获取Activity接收的intent值呢? 主要是通过Bundle 来 putString() 参数, 在创建Fragment实例的时候将Bundle作为参数 setArgument(),这样在 getArgument()的时候,就可以用Bundle 的 getString()拿到所要传递的参数, 即由Ac

harveylive的博客 899

海思Hi3519A开发:DSP开发指南

通过创建DSP项目、实现算法、编译调试等步骤,开发者可以充分利用Hi3519A芯片集成的DSP,实现各种音视频处理功能。通过以上示例,我们可以看到在Hi3519A开发平台上进行DSP开发是一项强大而灵活的任务。在调试过程中,可以使用调试工具提供的功能,如断点设置、变量查看等,以便更好地理解和优化DSP算法的执行过程。在Hi3519A开发平台上,我们可以利用DSP的高性能计算能力来加速这些算法的执行。在实际的DSP开发中,算法的实现可能更加复杂,需要结合具体的项目需求进行。3.2 DSP算法实现。

QoTypescript的博客 1494

YOLOv8改进 | 细节涨点篇 | DySample一种超级轻量的动态上采样算子(效果完爆CARAFE)

本文给大家带来的改进机制是一种号称超轻量级且有效的动态上采样器——DySample。与传统的基于内核的动态上采样器相比,DySample采用了一种基于点采样的方法,相比于以前的基于内核的动态上采样器,DySample具有更少的参数、浮点运算次数、GPU内存和延迟。此外,DySample在包括语义分割、目标检测、实例分割、全景分割和单目深度估计在内的五个预测任务中,性能均优于其他上采样器(截至目前最有效的上采样算子)。

Snu77的博客 1万+

android的fragment中怎样getIntent()

Fragment中没有getIntent方法bai,需要通过Activity来。 可以du这样实现: Intent intent = getActivity().getIntent(); 这样就可zhi以在fragment中获取daoActivity的Intent

ShiXinXin_Harbour的博客 3432

动网格-网格重构之铺层(三)

运动区域可以是边界区域 (Boundary Zone),也可以是单元区域 ( Cell Zone)。指定了体网格再生方法后,FLUENT自动地根据运动区域(dynamic zones)的运动来调整内部节点以再生体网格。必须保留至少一层网格。(4)如果边面的法向和运动方向偏角较大,生成的网格扭斜度会比较大铺层算法不适用于边界形状变化较大的情况。(1)体网格再生方法的选择(Smoothing,Layering,Remeshing);(2)适用网格种类:四边形、六面体、三棱柱(网格的分布要服从一定的规则)。

weixin_44386973的博客 2093

Fragment与Activity之间的传值

一、Activity传值给Fragment 1.方法一:(Fragment是动态加载的)在activity中建一个bundle,把要传的值存入bundle,然后通过fragment的setArguments(bundle)传到fragment,在fragment中,用getArguments接收 activity : MyFragment fragment = new MyFragment();...

Silence_Sep的博客 2万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Activity与Fragment的通信

Bundle和接口(观察者模式)的实现方式

蔡林浩的博客 4638

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Activity和Activity、Fragment之间传递数据的方式

因为项目的需求,自己总结了Activity和Activity、Fragment之间传递数据的几种方式,和大家分享一下(仅供参考) 一.Intent 相信做过android的都使用过Intent,页面之间传递数据最基础的一种方式 Intent intent = new Intent(A.this,B.class);

wanghangyang的博客 2305

Fragment 与 Activity 之间的数据传递

一、Fragment 与 Activity 之间的数据传递 1、Activity 向 Fragment 传递数据 activity通过bundle向frgment传值 Activity private EditText mEdit; private Button mBtnSend; private BlankFragment mBlankFragment; @Override protected void onCreate(Bundle savedInstanceState) {

weichaoya的博客 2895

Activity,Fragment数据回传

startActivityForResult(Intent intent, Int requestCode) setResut(int resultCode, Intent intent) onActivityResult(int requestCode, int resultCode, Intent intent) 一次性完成目标Activity,目标Activity调用finsh后跳

stefan_savatore的专栏 554

Fragment 跳转到 Activity 如何接收回来的数据

1.在fragment 里跳转intent=new Intent(getActivity(), ChooseCityActivity.class); intent.putExtra(Constant.NowCity,locationCity); getActivity().startActivityForResult(intent,Constant.ChooseCityActivityCode)

huangan93的博客 2615

子Fragment传递数据到宿主Activity

子fragment 拿到数据后传到宿主Activity

Dzy_499919241的博客 1319

【android学习笔记】Activity回传值给Fragment,startActivityForResult与setResult在Fragment与Activity中的使用

【概述】使用startActivityForResult能在activity之间进行回传值,最近有需求是在fragment中点击跳转activity选择条件再返回给fragment,发现使用getActivity().startActivityForResult(intent,1001) 并无效果,而是要换成fragment.this.startActivityForResult。 【使用场景】...

gzyh_tech的博客 4538

Activity与Activity,Fragment之间的数据传递方法

Activity与Activity的通信 方法一:利用intent来传值 //传值部分 Intent intent = new Intent(); intent.putExtra(key,value); startActivity(intent); //接收数据部分 Intent intent = this.getIntent().getExtra(); String s = intent.g...

qq_41545435的博客 3008

Android中Activity各种页面跳转并传值(Activity -> Activity)(Activity -> Fragment)(Activity -> Service)

Android中Activity各种页面跳转(Activity -> Activity)(Activity -> Fragment)(Activity -> Service) 注意一下,如果另一个activity2返回来用的是setResult()函数,那么在MainActivity中传值是需要使用startActivityForResult函数,如果单纯的使用startActivity函数进行跳转,会导致MainActivity中onActivityResult不会执行。在从Activity -> Fr.

qq_50272406的博客 4263

android-Fragment和Activity通信:将Fragment中的数据传入Activity

有时候我们需要Fragment和Activity进行通信,说白了,就是将Activity的值传入Fragment或者将Fragment中的值传入Activity。从Activity将数据传入Fragment,可以通过一下代码实现,假设WorkerChoose是我们的一个Fragment: public static WorkerChoose newInstance(String worke

lsyAndroid的专栏--解决实际开发中自己遇到的问题 971

在Fragment中OnActivityResult方法中接收Activity中返回的值

在Fragment中OnActivityResult方法中接收Activity中返回的值,有需要的朋友可以参考下。 在开发android中,有些人往往很疑惑,当一个FragmentActivity中有多个碎片的时候,如a,b,c三个随便,  其中b中进行了操作,跳转到了新的界面D(activity)。但是当D操作完后,返回值到碎片b。那么问题就来了,肯定会有人问,b是一个碎片,

TIANWENJU 1万+
上一篇: 理解Fragment生命周期
下一篇: 记录Android-Studio遇到的各种坑
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值