使用Fragment的時候可能需要在兩個Fragment之間進行參數(shù)的傳遞馏颂,開始想著可以使用SharedPreferences進行處理梯捕,想想這些簡單的參數(shù)沒有必要使用這么麻煩的方式去實現(xiàn)合敦,翻了一下Fragment的API赞哗,找到一個方法就能實現(xiàn)像Activity一樣便捷的實現(xiàn)參數(shù)傳遞 程序中的一段代碼
[java]view plaincopy
ft.hide(getActivity().getSupportFragmentManager().findFragmentByTag(“”));
SearchProjectFragment?sf?=newSearchProjectFragment();
Bundle?bundle?=newBundle();
bundle.putString("key",?Projsid);
sf.setArguments(bundle);
ft.add(R.id.fragmentRoot,?sf,?SEARCHPROJECT);
ft.addToBackStack(SEARCHPROJECT);
ft.commit();
可以使用bundle進行參數(shù)傳遞参歹,這樣在兩個Fragment跳轉(zhuǎn)的時候就可以帶上參數(shù)了勾哩,在另外一個Fragment獲取參數(shù)的方式只需要一個語句String string = getArguments().getString("key"); ?key是自己定義的一個標識,參數(shù)的形式只要bundle能傳遞都可以實現(xiàn)
這個原理好像是和Activity是一樣的蹄咖。我這里傳遞的是一個關(guān)鍵字褐健,從一個搜索Fragment頁面跳轉(zhuǎn)到兩外一個結(jié)果查詢的Fragment頁面,在跳轉(zhuǎn)的時候也可以加上一些動畫的跳轉(zhuǎn)效果
[java]view plaincopy
ft.setCustomAnimations(R.anim.slide_in_right,?R.anim.slide_out_left,?R.anim.slide_in_left,?R.anim.slide_out_right);