您的位置:首页 > 移动开发 > Android开发

两个Fragment之间参数的传递

2014-08-25 17:44 363 查看
使用Fragment的时候可能需要在两个Fragment之间进行参数的传递,开始想着可以使用SharedPreferences进行处理,想想这些简单的参数没有必要使用这么麻烦的方式去实现,翻了一下Fragment的API,找到一个方法就能实现像Activity一样便捷的实现参数传递 程序中的一段代码

[java]
view plaincopyprint?

ft.hide(getActivity().getSupportFragmentManager().findFragmentByTag(“”));  
                SearchProjectFragment sf = new SearchProjectFragment();  
                Bundle bundle = new Bundle();  
                bundle.putString("key", Projsid);  
                sf.setArguments(bundle);  
                ft.add(R.id.fragmentRoot, sf, SEARCHPROJECT);  
                ft.addToBackStack(SEARCHPROJECT);  
                ft.commit();  

ft.hide(getActivity().getSupportFragmentManager().findFragmentByTag(“”));
SearchProjectFragment sf = new SearchProjectFragment();
Bundle bundle = new Bundle();
bundle.putString("key", Projsid);
sf.setArguments(bundle);
ft.add(R.id.fragmentRoot, sf, SEARCHPROJECT);
ft.addToBackStack(SEARCHPROJECT);
ft.commit();


   可以使用bundle进行参数传递,这样在两个Fragment跳转的时候就可以带上参数了,在另外一个Fragment获取参数的方式只需要一个语句String string = getArguments().getString("key");  key是自己定义的一个标识,参数的形式只要bundle能传递都可以实现

     这个原理好像是和Activity是一样的。我这里传递的是一个关键字,从一个搜索Fragment页面跳转到两外一个结果查询的Fragment页面,在跳转的时候也可以加上一些动画的跳转效果

[java]
view plaincopyprint?

ft.setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left, R.anim.slide_in_left, R.anim.slide_out_right);  

ft.setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left, R.anim.slide_in_left, R.anim.slide_out_right);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android fragment 传递数