时间:2021-05-20
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的跳转就算是完成了。
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
AndroidstartActivityForResult实例详解startActivityForResult用于两个activity之间的数据传递,Activ
微信小程序页面跳转和数据传递1.先导在Android中,我们Activity和Fragment都有栈的概念在里面,微信小程序页面也有栈的概念在里面。微信小程序页
本文以实例详述了C#两个窗体之间传递数据的实现方法,具体的操作步骤如下:1.建立两个窗体,并采用公用变量值传递:publicpartialclassForm1:
Android中读取Excel文件实例详解最近有个需求需要在app内置数据,新来的产品扔给了我两个Excel表格就不管了(两个表格格式还不统一。。。),于是通过
本文实例为大家分享了Intent实现页面跳转的两种的方法,供大家参考,具体内容如下下图中两个不同的方法就是两种页面之间跳转的情况1).跳转不返回数据2).跳转返