Android 两个Fragment之间的跳转和数据的传递实例详解
程序员文章站
2022-10-10 12:46:36
android 两个fragment之间的跳转和数据的传递实例详解
作为一个android的菜鸟...
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之间的跳转和数据的传递实例详解
-
Android 入门第十讲02-广播(广播概述,使用方法(系统广播,自定义广播,两个activity之间的交互和传值),EventBus使用方法,数据传递,线程切换,Android的系统广播大全)
-
Android Criminal实例--(5)对话框的使用及fragment的数据传递
-
Android中Activity之间的数据传递(Intent和Bundle)
-
Android Activity之间的跳转以及数据的交互传递
-
(Android数据传递)Service和Activity之间-- 借助BroadcastReceiver--的数据传递
-
Android-Activity的基本介绍和页面之间数据传递
-
Android Fragment之间数据传递的三种方式
-
Android模块开发-----用户信息模块(Fragment和Activity之间数据的传递)