自定义的带tab的可左右滑动的viewpager之三fragment之间信息的传递

新手避坑指南:我的第一个ViewPager+Fragment App是怎么做出来的(从布局到点击事件) 本文详细介绍了如何从零开始构建一个基于ViewPager和Fragment的Android应用,特别适合新手开发者。内容涵盖布局设计、适配器实现、Fragment生命周期管理以及常见问题解决方案,帮助开发者避免常见陷阱并优化用户体验。 阅读详情

有些时候可能有这样的需求:一个fragment内容的改变需要通知另外一个fragment。

还是拿下图来说事:


我把按钮放到了TAB2上,希望得到这样的结果:点击TAB2上的保存按钮,TAB1的界面刷新一下或者有其他改变。


1、问题分析

谷歌的Android文档有云:所有的fragment之间的交流都是通过activity的,他们之间不可以直接通信。因此有了下面的通信过程:


2、代码实现

首先创建一个简单接口:

public interface OnDataChangeListener {
	public void dataChange();
}

接着在我们的显示自定义TAB的activity中实现此接口:

	@Override
	public void dataChange() {
		fragmentShow.dataChange();
	}
在实现方法中我们调用TAB1的公共方法如上的dataChange(),这个方法具体做什么就由你自己决定了;

有了这些东西,我们就可以在TAB2按钮单击的时候去调用activity的dataChane()方法了:

	@Override
	public void onAttach(Activity activity) {
		super.onAttach(activity);
		try {
			dataChangeListener = (OnDataChangeListener) activity;
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
拿到dataChangeListener这个对象,然后调用其dataChange()方法即可。


3、参考:Communicating with Other Fragments




Android ViewPager2 核心原理与工业级实践教程 ViewPager2 是 Android 中用于实现页面级滑动容器的关键组件,其本质是一个轻量级页面调度器,而非简单的滑动视图。它通过 offscreenPageLimit 控制预加载范围、FragmentStateAdapter 管理生命周期复用、viewLifecycleOwner 实现精准懒加载,构建起页面状态持久化与性能平衡的技术闭环。相比传统 RecyclerView 嵌套或手动 GestureDetector 方案,ViewPager2 提供了标准化的页面生命周期解耦、TabLayout 联动支 阅读详情

相关推荐

Android左右滑动导航菜单实战教程

在现代移动应用设计中,流畅的导航菜单滑动效果已成为提升用户体验的关键因素之一。Android平台上的ViewPager组件为开发人员提供了一种简单的方法来实现左右滑动的导航菜单。本章将介绍实现这一功能的基本概念,并概述如何在Android应用中运用ViewPager和相关组件来创建一个直观且动态的用户界面。我们将从设置基本的开发环境和依赖开始,接着逐步介绍如何使用ViewPager来展示一系列的Fragment,从而形成一个导航菜单。

weixin_42430341的博客 1037

如何在ViewPager中的各个Fragment间传递数据并刷新Fragment界面?

如果Fragment已经存在,试图通过fragment.setArguments(bundle)传递参数将导致异常: 00:14:55.375: E/AndroidRuntime(8492): java.lang.IllegalStateException: Fragment already active 00:14:55.375: E/AndroidRuntime(8492): at ...

weixin_39412350的博客 2687

Halcon一维测量实战:从measure_pos与measure_pairs的底层原理到精准应用

本文深入解析Halcon中measure_pos与measure_pairs算子的底层原理与精准应用,涵盖参数调优、测量矩形方向设置及典型工业场景实战。通过对比分析,揭示两者在一维测量中的核心差异与适用场景,提供从基础到高级的完整解决方案,助力工业视觉检测精度提升。

weixin_42525551的博客 426

ViewPager往fragment里传递数据

1.第一步,先初始化fragment 2.第二步,在fragment里取数据 3.这样就完成了.

qq79907141的博客 3305

Keras中LSTM输入数据重塑与预处理实战指南

LSTM(长短期记忆网络)作为循环神经网络的重要变体,在时间序列建模中发挥着关键作用。其核心原理是通过门控机制学习长期依赖关系,而输入数据的正确重塑是实现这一功能的基础。在Keras框架中,LSTM要求输入数据必须组织成(samples, timesteps, features)的三维张量结构,这与传统全连接网络的处理方式截然不同。从工程实践角度看,合理的数据预处理能显著提升模型性能,特别是在处理温度预测、股票价格分析等时间序列任务时。常见的数据源如CSV文件、图像序列等都需要特定的转换方法,包括使用Tim

weixin_42300144的博客 307

Ubuntu20.04配置PX4环境启动或编译jmavsim 出现的错误及解决办法

错误1:ant命令未找到

Iamsonice的博客 8857

Fragment与Fragment之间的数据传递

连接地址: https://www.jianshu.com/p/f87baad32662 参考原文地址:https://juejin.im/entry/570ae5668ac247004c3128a4

weixin_42544249的博客 6160

在Windows11上安装ubuntu版linux系统并实现桌面图形化(WSL)

在Windows11上安装ubuntu版linux系统并实现桌面图形化(WSL),xfce桌面美化、安装google-chrome

NiKoJJ‘s Blog 1万+

Android之实现ViewPager+Fragment左右滑动

最近看新闻发现新闻的页面是可以左右滑动的,于是自己就好奇起来了,之前做过ViewPager展示图片,在想怎么加载页面呢?研究了一下,发现就是添加了Fragment,废话不多说,揭秘奥秘的时候到了。 使用过ViewPager小伙伴们都知道,Viewpager加载数据,需要数据源,这里我们定义4个Fragment。为了方便其他同事使用,我给这4个Fragment添加了一个基类,具体代码如下:

SnowWitch的博客 4383

Arco Design Pro PC端商家后台框架 | Axure高保真原型库

摘要:本Axure原型设计方案基于字节跳动ArcoDesignPro规范,提供企业级后台快速搭建方案。包含动态表格、表单验证等核心组件,采用中继器驱动设计,支持响应式布局。方案覆盖80%后台常用交互,可节省60%原型制作时间,配套完整设计文档和组件库,实现原型到开发的高效衔接。特别适用于电商、SaaS等后台系统开发,支持权限管理、数据分析等场景,显著提升团队协作效率。

招风的黑耳优快云 3984

AI 模型优化与部署秘籍:从理论到实战

本文系统介绍了AI模型优化与部署的关键技术。模型剪枝通过去除冗余参数减小模型规模,量化技术降低计算精度以提升效率,蒸馏方法实现知识从大模型到小模型的迁移。TensorRT通过层融合和精度校准加速GPU推理,ONNX格式实现跨框架模型转换,TFLite则优化移动端部署。这些技术共同解决了AI模型在资源受限环境下的部署难题,显著提升了模型运行效率,为AI应用落地提供了重要支撑。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 248

android fragment 实现tab切换,开源中国Android客户端-使用Tab切换Fragment

一、简述在开源中国客户端中,使用了大量的列表去加载新闻、咨询、博客等等内容,而根据合理的分类,又可以使得这些列表显示的样式保持一致。说明:1)、可以左右滑动切换,更方便。2)、左右切换的时候,不去刷新,采用的是每个页面单独下拉刷新。例如,我的收藏夹: 在我的收藏夹,总共有5个Tab,也可以说需要切换5个视图,这些视图完全一样,只是数据大小不一。1、第一种处理办法:使用5个不同的Fragment添加...

weixin_42234168的博客 1078

基于OpenClaw的AI数字员工协同团队架构设计

随着大型语言模型从被动的文本生成器向具备自主规划与执行能力的智能代理演进,企业级人工智能的应用范式正在发生根本性转变。在这一演进过程中,OpenClaw(前身为Clawdbot及Moltbot)作为一种开源的、本地优先的个人AI智能体网关基础设施,凭借其对持续内存、多通道接入以及沙盒化工具执行的原生支持,迅速成为构建“始终在线”数字劳动力的核心框架 1。然而,将单体个人助理扩展为能够处理复杂业务逻辑、支持跨组织协同并严格保障数据隔离的多智能体(Multi-Agent)团队,绝非简单的API拼接。系统架构必须

形上得其象,形下合于数;阴阳自济,玄理自明。 1048

ViewPage显示Fragment集合实现左右滑动并且出现tab栏--第三方开源--SlidingTabLayout和SlidingTabStrip实现

注意:有关Fragment的方法和ViewPager的全部是android.support.v4包的,否则会报很多的错误 MainActivity: package com.zzw.fragmentteb; import java.util.ArrayList; import android.graphics.Color; import android.os.B

xzylx1的博客 1552

MySQL 一一 MySQL基本使用

1、数据库 简单来说,所谓的数据库就是存储数据的容器,而且是永久存储的。 2、为什么需要数据库 3、为什么要学习MySQL数据库 最早MySQL数据,瑞典AB公司开发的一款开源型的关系型数据库。 随着时间的推移,瑞典AB公司把MySQL数据库转让给Sun公司(Java语言的创始公司) 后来,Sun公司经营不善,又把MySQL数据库转让给甲骨文公司(Oracle数据库) 4、数

Guizy 7万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

使用ViewPager+Fragment来实现带滚动条的多屏滑动-IndicatorFragmentActivity

使用ViewPager+Fragment来实现带滚动条的多屏滑动-IndicatorFragmentActivity

qq_43661383的博客 128

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【安卓笔记】ViewPager+Fragment布局中的Fragment数据更新

请尊重作者劳动成果,转载请声明文章出处(http://blog.youkuaiyun.com/chdjj/) ------------------------------------------------------------------------------------- 相信大家对ViewPager和Fragment都比较熟悉了。使用ViewPager+Fragment可以实现”选项卡“

tasty 1104

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Android Studio开发实战:Fragment动态注册与ViewPager2整合指南

本文详细介绍了Android Studio中Fragment动态注册与ViewPager2的整合实践,通过电商商品详情页实战案例,展示了如何实现灵活的页面切换与数据管理。内容涵盖环境配置、Fragment事务管理、Adapter实现及性能优化,帮助开发者提升应用交互体验与开发效率。

alice7model的博客 889

Fragment利用ViewPager实现左右滑动--第三方开源--SlidingTabLayout和SlidingTabStrip实现

MainActivity: 1 package com.zzw.fragmentteb; 2 3 import java.util.ArrayList; 4 5 import android.graphics.Color; 6 import android.os.Bundle; 7 import android.support.v4.app.Fragment; ...

weixin_30569001的博客 120

ViewPage显示Fragment集合实现左右滑动并且出现tab栏--第三方开源--SlidingTabLayout和SlidingTabStrip实现...

注意:有关Fragment的方法和ViewPager的全部是android.support.v4包的,否则会报很多的错误 MainActivity: 1 package com.zzw.fragmentteb; 2 3 import java.util.ArrayList; 4 5 import android.graphics.Color; 6 im...

weixin_30532987的博客 119

Android viewpager嵌套viewpager滑动冲突的解决

viewpager嵌套滑动控件冲突,解决方式

Lzn0511的博客 2078

关于Tablayout包含Viewpager,滑动view pager到最后一个子view,继续滑动导致切换到Tablayout第二个fragment的问题

如题,本来我是上面tablayout+viewpager然后view pager这个Afragment里面还是有个view pager图片,可以左右划的,之前没注意,因为滑动到最后一张图片的时候,继续滑动就会使tablayout切换到第二个Bfragment上面去,产品说不行,要滑倒最后一张图片的时候不能滑动,不能切换到另一个页面。。类似与这样的,没办法,那就去快乐星球去研究吧。。研究一上午,还算成功了吧,下面直接贴代码,只需要在xml里面替换左右滑动的viewpager就行了,如果不对,不负责任的哦。。

BetterMez的博客 575

开源中国Android客户端-使用Tab切换Fragment

为什么80%的码农都做不了架构师?>>> ...

weixin_34250709的博客 162

无侵入式的解决 ViewPager2 跟横向滑动子 View 手势冲突的一种思路

在最近的开发中,我恰好遇到一个典型又棘手的问题 ——网上关于 ViewPager2 滑动冲突的文章一搜一大把,但不少内容已过时,且大同小异,真正符合实际需求的少之又少。因此,这里我把自己的解决思路与实践过程做个记录,希望能为有类似困扰的大佬们提供点参考。

喻志强的博客 2203
上一篇: 自定义的带tab的可左右滑动的viewpager之二viewpager与fragment不兼容
下一篇: 整理下返回JSON的图片搜索的API
ttdevs
博客等级 码龄15年 388粉丝 91原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值