这篇文章主要介绍了怎么在Android中实现两个Fragment之间的跳转,编程网小编觉得不错,现在分享给大家,也给大家做个参考,一起跟随编程网小编来看看吧!
Android是什么
Android是一种基于Linux内核的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由美国Google公司和开放手机联盟领导及开发。
首先在第一个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之间的跳转,如何觉得编程网网站的内容还不错,欢迎将编程网网站推荐给身边好友。