有两个fragment分别为FragementA和FragmentB,现在要从FragementA跳转到FragmentB。同时要向FragmentB中传入数据,首先要在FragmentB中创建静态的方法,如下:

public static FragmentB getInstance(ObjectA object) {FragmentB fragment = new FragmentB();Bundle bundle = new Bundle();bundle.putSerializable(Constants.BundleKey.Object, result);fragment.setArguments(bundle);return fragment;}


在FragementA中跳转的时候:

FragmentB fragment = FragmentB .getInstance(result);addFragmentToStack(fragment, true, true);

其中addFragmentToStack代码:

protected void addFragmentToStack(final Fragment fragment,final boolean isAddToBack, boolean hasAnimation) {FragmentTransaction ft = getFragmentManager().beginTransaction();try {if (hasAnimation) {ft.setCustomAnimations(R.anim.slide_right_in, R.anim.slide_left_out,R.anim.slide_left_in, R.anim.slide_right_out);}} catch (ArrayIndexOutOfBoundsException e) {throw new ArrayIndexOutOfBoundsException("动画数组下标越界");}ft.add(R.id.fragment_container, fragment);if (isAddToBack) {ft.addToBackStack(null);}ft.commit();}
这样就实现了fragment跳转的时候传递数据,在FragmentB中要把传递的数据取出,否则传数据就没有意义了,代码:

ObjectA object = (ObjectA) getArguments().getSerializable(Constants.BundleKey.Object);
其中ObjectA这个类要实现Serializable方法,否则也是不能传递的,切记切记!!

更多相关文章

  1. 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
  2. “罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢?
  3. Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
  4. 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
  5. Android:Activity(二):Bundle的作用
  6. Android完美解决多次点击Toast一直提示不消失问题
  7. Android(安卓)CI - Jenkins
  8. android使用百度地图获取自己所在的城市名
  9. android java 拷贝数据库文件到U盘,从U盘拷贝文件到私有目录下实

随机推荐

  1. LibGDX制作android动态壁纸
  2. android 底座充电压力插拔,有概率没有提示
  3. Android一些经常涉及到的权限【转】
  4. android中使用wakelock
  5. [Android(安卓)Develop_004] Android(安
  6. Relativelayout的一些属性
  7. [置顶] android调用第三方库——第二篇—
  8. windows 8环境—android studio初步体验(
  9. Android(安卓)XMl文件中tools前缀
  10. Android(安卓)核心分析 之八------Androi