热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用EventBus在AndroidFragment间传递参数

本文介绍了如何在Android应用中使用EventBus库在Fragment之间传递参数。通过具体的代码示例,详细说明了EventBus的使用方法和注意事项。

参考链接:https://blog.csdn.net/json_corleone/article/details/84570882

本文使用Eclipse开发环境,因此没有通过Gradle引入EventBus,而是将EventBus的jar包放在项目的libs文件夹中。

1. 创建一个事件类,用于传递两个String参数:

public class EventS {
public String mCysj;
public String mCyzq;

public EventS(String data, String data2) {
this.mCysj = data;
this.mCyzq = data2;
}

public String getCysj() {
return mCysj;
}

public void setCysj(String cysj) {
this.mCysj = cysj;
}

public String getCyzq() {
return mCyzq;
}

public void setCyzq(String cyzq) {
this.mCyzq = cyzq;
}
}

2. 假设我们有两个Fragment类,分别是OneFragment和TwoFragment。

在OneFragment类中发送数据:

EventBus.getDefault().post(new EventS(ssj, szq)); // ssj, szq 是两个定义的String类型变量

3. 在TwoFragment类的onCreateView()方法中注册EventBus以接收数据:

// 注册EventBus 接收数据
EventBus.getDefault().register(this);

4. 在TwoFragment类中接收并处理OneFragment类传过来的消息:

注意:EventBus 3.0版本需要使用@Subscribe注解(与2.4版本有所不同):

@Subscribe(threadMode = ThreadMode.MAIN)
public void onEventMainThread(EventS data) {
tv_ssjj.setText(data.getCysj());
tv_zqsjj.setText(data.getCyzq());
}

5. 在TwoFragment类的onDestroy()方法中注销事件接收:

@Override
public void onDestroy() {
super.onDestroy();
EventBus.getDefault().unregister(this);
}

推荐阅读
  • 本文介绍了如何通过ARM编译器组件重定向标准C运行时库的I/O函数,以适应不同的硬件平台。原文链接:https://www.keil.com/pack/doc/compiler/RetargetIO/html/retarget_overview.html ... [详细]
  • 微信小程序中实现位置获取的全面指南
    本文详细介绍了如何在微信小程序中实现地理位置的获取,包括通过微信官方API和腾讯地图API两种方式。文中不仅涵盖了必要的准备工作,如申请开发者密钥、下载并配置SDK等,还提供了处理用户授权及位置信息获取的具体代码示例。 ... [详细]
  • 深入解析Android中的SQLite数据库使用
    本文详细介绍了如何在Android应用中使用SQLite数据库进行数据存储。通过自定义类继承SQLiteOpenHelper,实现数据库的创建与版本管理,并提供了具体的学生信息管理示例代码。 ... [详细]
  • 本文探讨如何利用Java反射技术来模拟Webwork框架中的URL解析过程。通过这一实践,读者可以更好地理解Webwork及其后续版本Struts2的工作原理,尤其是它们在MVC架构下的角色。 ... [详细]
  • 本文详细介绍了 Kubernetes 集群管理工具 kubectl 的基本使用方法,涵盖了一系列常用的命令及其应用场景,旨在帮助初学者快速掌握 kubectl 的基本操作。 ... [详细]
  • 本文详细介绍了如何在现有的Android Studio项目中集成JNI(Java Native Interface),包括下载必要的NDK和构建工具,配置CMakeLists.txt文件,以及编写和调用JNI函数的具体步骤。 ... [详细]
  • 本文详细介绍了如何在 Java 中使用 com.badlogic.gdx.utils.JsonValue.iterator() 方法来遍历和解析 JSON 数据,并提供了多个实际应用中的代码示例。 ... [详细]
  • 本文探讨了如何在Node.js环境中,通过Tor网络使用的SOCKS5代理执行HTTP请求。文中不仅提供了基础的实现方法,还介绍了几种常用的库和工具,帮助开发者解决遇到的问题。 ... [详细]
  • 本文探讨了浏览器的同源策略限制及其对 AJAX 请求的影响,并详细介绍了如何在 Spring Boot 应用中优雅地处理跨域请求,特别是当请求包含自定义 Headers 时的解决方案。 ... [详细]
  • 详细指南:使用IntelliJ IDEA构建多模块Maven项目
    本文在前两篇文章的基础上,进一步指导读者如何在IntelliJ IDEA中创建和配置多模块Maven项目。通过详细的步骤说明,帮助读者掌握项目模块化管理的方法。 ... [详细]
  • 详解 | 日志系统ViseLog的基本使用与功能
    本文详细介绍了日志系统ViseLog的使用方法及其核心功能,旨在帮助开发者更好地理解和利用这一工具,提高开发效率。 ... [详细]
  • MapReduce原理是怎么剖析的
    这期内容当中小编将会给大家带来有关MapReduce原理是怎么剖析的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1 ... [详细]
  • Flowable系列教程:运用ProcessEngineConfigurator实现高级流程引擎配置
    本文探讨了通过ProcessEngineConfigurator接口实现对Flowable流程引擎的高级配置方法。这种方法允许开发者通过自定义配置器来增强或修改流程引擎的行为。 ... [详细]
  • 本文档详细介绍了在 Kubernetes 集群中部署 ETCD 数据库的过程,包括实验环境的准备、ETCD 证书的生成及配置、以及集群的启动与健康检查等关键步骤。 ... [详细]
  • Spring Boot 入门指南
    本文介绍了Spring Boot的基本概念及其在现代Java应用程序开发中的作用。Spring Boot旨在简化Spring应用的初始设置和开发过程,通过自动配置和约定优于配置的原则,帮助开发者快速构建基于Spring框架的应用。 ... [详细]
author-avatar
小丁啊小丁
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有