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

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

概述Android 两个Fragment之间的跳转和数据的传递实例详解     作为一个Android的菜鸟,前些天在做项目的时候用到了fragment,需求是从一个Fragment跳转到另一个Fragment,并且还要传递数据

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() {@OverrIDepublic 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 传递过来的数据。

@OverrIDepublic voID onCreate(Bundle savedInstanceState) {// Todo auto-generated method stubsuper.onCreate(savedInstanceState);Bundle bundle = getArguments();deptID = bundle.getLong("ID");deptname = bundle.getString("name");}

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

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

总结

以上是内存溢出为你收集整理的Android 两个Fragment之间的跳转和数据的传递实例详解全部内容,希望文章能够帮你解决Android 两个Fragment之间的跳转和数据的传递实例详解所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1144962.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-31
下一篇2022-05-31

发表评论

登录后才能评论

评论列表(0条)

    保存