Android  两个Fragment之间的跳转和数据的传递实例详解

发布时间 - 2026-01-11 02:34:16    点击率:

Android  两个Fragment之间的跳转和数据的传递实例详解

      作为一个Android的菜鸟,前些天在做项目的时候用到了fragment,需求是从一个Fragment跳转到另一个Fragment,并且还要传递数据,就像Activity的跳转一样。在网上找了好久都没找到很好的列子,最后通过看别人的博客和查文档终于做好了,现在整理一下,希望能帮助有需要的童鞋。

      1、首先在第一个Fragment 里面拿到FragmentManger 和FragmentTransaction 代码如下。

  @Override
  public void onCreate(Bundle savedInstanceState) {
  // TODO Auto-generated method stub
  super.onCreate(savedInstanceState);
  fm = getFragmentManager();

  }

  2 准备要传递的数据跳转。

 deptListView.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int postion,
long arg3) {
ft = fm.beginTransaction();//注意。一个transaction 只能commit一次,所以不要定义*局变量
long id = adapter.getDepartments().get(postion).getId();
String name = adapter.getDepartments().get(postion).getName();
DeptDocFragment df = new DeptDocFragment();
Bundle bundle = new Bundle();
bundle.putLong("id", id);
bundle.putString("name", name);
df.setArguments(bundle);
ft.replace(R.id.guide_content, df);
ft.addToBackStack(null);
ft.commit();
}
});

上面的DeptDocFragment就是我要跳转的Fragment,而传递数据跟Activity一样,用Bundle,最后通过df.setArguments(bundle);携带数据。通过replace方法切换Fragment实现跳转,最后别忘了commit 提交。

3  接下来就是在另一个Fragment 中获取第一个Fragment 传递过来的数据。

@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
Bundle bundle = getArguments();
deptId = bundle.getLong("id");
deptName = bundle.getString("name");
}

 在Fragment的onCreate() 方法中获取数据。然后在这个Fragment中完成你需要的逻辑。好了,整个Fragment的跳转就算是完成了。

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# Android  # 两个Fragment之间的跳转  # Fragment  # 跳转与数据传递  # Android Activity与Fragment之间的跳转实例详解  # Android编程使用Fragment界面向下跳转并一级级返回的实现方法  # Android基础之Fragment与Activity交互详解  # Android 管理Activity中的fragments  # Android从Fragment跳转到其他Activity的简单实例  # 跳转  # 第一个  # 希望能  # 列子  # 我要  # 很好  # 好了  # 菜鸟  # 就像  # 在这个  # 如有  # 都没  # 是从  # 找了  # 作为一个  # 别忘了  # 谢谢大家  # 跳转到  # 整理一下  # 前些天 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】  Laravel模型关联查询教程_Laravel Eloquent一对多关联写法  Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】  利用python获取某年中每个月的第一天和最后一天  音响网站制作视频教程,隆霸音响官方网站?  Laravel定时任务怎么设置_Laravel Crontab调度器配置  如何确认建站备案号应放置的具体位置?  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  香港服务器如何优化才能显著提升网站加载速度?  悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  如何在局域网内绑定自建网站域名?  装修招标网站设计制作流程,装修招标流程?  Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程  如何获取上海专业网站定制建站电话?  油猴 教程,油猴搜脚本为什么会网页无法显示?  Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】  如何用虚拟主机快速搭建网站?详细步骤解析  Laravel如何创建和注册中间件_Laravel中间件编写与应用流程  Java垃圾回收器的方法和原理总结  如何在 Pandas 中基于一列条件计算另一列的分组均值  海南网站制作公司有哪些,海口网是哪家的?  python中快速进行多个字符替换的方法小结  如何快速查询网址的建站时间与历史轨迹?  Laravel怎么实现模型属性的自动加密  Angular 表单中正确绑定输入值以确保提交与验证正常工作  香港服务器部署网站为何提示未备案?  Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决  在线制作视频的网站有哪些,电脑如何制作视频短片?  Python数据仓库与ETL构建实战_Airflow调度流程详解  ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  如何快速搭建高效服务器建站系统?  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  详解Android中Activity的四大启动模式实验简述  Linux系统运维自动化项目教程_Ansible批量管理实战  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】  Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复  zabbix利用python脚本发送报警邮件的方法  Laravel如何使用withoutEvents方法临时禁用模型事件  laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法  网站制作价目表怎么做,珍爱网婚介费用多少?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  软银砸40亿美元收购DigitalBridge 强化AI资料中心布局  Laravel怎么实现支付功能_Laravel集成支付宝微信支付