Android 两个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() { @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的跳转就算是完成了。

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

时间: 2024-07-30 16:50:51

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

Android 两个Fragment之间传递数据实例详解_Android

 Android 两个Fragment之间如何传递数据 FragmentA启动FragmentB,做一些选择操作后,返回FragmentA,需要把FragmentB里面选择的数据传回来.有什么办法? Fragment之间不能直接通信,必须通过Activity来完成,具体步骤. 1. 在FragmentA中定义通信接口,通过该接口向Activity发送数据. public class FragmentA extends Fragment { private onButtonPressListene

Android 两个Fragment之间传递数据实例详解

Android 两个Fragment之间如何传递数据 FragmentA启动FragmentB,做一些选择操作后,返回FragmentA,需要把FragmentB里面选择的数据传回来.有什么办法? Fragment之间不能直接通信,必须通过Activity来完成,具体步骤. 1. 在FragmentA中定义通信接口,通过该接口向Activity发送数据. public class FragmentA extends Fragment { private onButtonPressListener

Android App中实现简单的刮刮卡抽奖效果的实例详解_Android

主要思想: 将一个view设计成多层:背景层,含中奖信息等: 遮盖层,用于刮奖,使用关联一个Bitmap的Canvas 在该Bitmap上,使用它的canvas.drawPath的api来处理 手势滑动(类似刮奖的动作) 使用paint.setXfermode 来进行消除手势滑动区域 public class GuaView extends View { private Bitmap mBitmap; //遮盖的图层 private Canvas mCanvas; //绘制遮盖图层 privat

Android App中实现简单的刮刮卡抽奖效果的实例详解

主要思想: 将一个view设计成多层:背景层,含中奖信息等: 遮盖层,用于刮奖,使用关联一个Bitmap的Canvas 在该Bitmap上,使用它的canvas.drawPath的api来处理 手势滑动(类似刮奖的动作) 使用paint.setXfermode 来进行消除手势滑动区域 public class GuaView extends View { private Bitmap mBitmap; //遮盖的图层 private Canvas mCanvas; //绘制遮盖图层 privat

切换不刷新-Android 两个activity之间跳转不刷新怎么实现

问题描述 Android 两个activity之间跳转不刷新怎么实现 两个activity中布局类似,都有两个listview,listview可以点击,我现在设置的是两个一样的xml,两个类似的activity 用intent进行跳转,但这样切换会重新刷新,如何实现不刷新切换.请大神细讲 !!! 之前想用Fragment的方法 来隐藏添加控件 但是由于自己不太懂 一个类既要继承Fragment又要继承activity 不能解决 所以被搁置了 并且这个方法需要改动很多 太麻烦 我看到有些帖子有说

安卓程序跳转-两个Activity之间Intent跳转问题

问题描述 两个Activity之间Intent跳转问题 我写了一个关于健康小检查的App,但是有一部分运行时不知道为什么跳转不了 解决方案 有没有错误,把错误贴上来,帮你看看 解决方案二: 两个Activity之间跳转用Intent实现的语句 Intent intent = new Intent(你的activity.this, 目标activity.class); startActivity(intent); 然后目标activity需要在AndroidManifest.xml中配置. 如果楼

安卓跳转-两个Activity之间Intent跳转问题

问题描述 两个Activity之间Intent跳转问题 public class Sports extends TabActivity implements OnTabChangeListener{ private TabHost myTabhost; protected int myMenuSettingTag=0; private ListView listView,listView2; private String strArr[] = {"野外登山","高山蹦极&qu

Android Fragment滑动组件ViewPager的实例详解

Android Fragment滑动组件ViewPager的实例详解 1适配器FragmentPagerAdapter的实现 对于FragmentPagerAdapter的派生类,只需要重写getItem(int)和getCount()就可以了. public class MyFragmentPagerAdapter extends FragmentPagerAdapter { private List<Fragment> list; public MyFragmentPagerAdapter

IOS 应用之间的跳转和数据传递详解_IOS

说明:本文介绍app如何打开另一个app,并且传递数据. 一.简单说明 新建两个应用,分别为应用A和应用B. 实现要求:在appA的页面中点击对应的按钮,能够打开appB这个应用. 1.新建两个应用,分别为A和B. 142354418874108[1].png 150002248248878[1].png 2.设置应用B的url. 150005160123679[1].png 3.在应用A中编写打开app的代码 150007446066083[1].png 点击之后,会跳转到新的控制器. 注意: