使用Fragment的時候可能需要在兩個Fragment之間進行參數的傳遞,開始想着可以使用SharedPreferences進行處理,想想這些簡單的參數沒有必要使用這麼麻煩的方式去實現,翻了一下Fragment的API,找到一個方法就能實現像Activity一樣便捷的實現參數傳遞 程序中的一段代碼
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頁面,在跳轉的時候也可以加上一些動畫的跳轉效果
ft.setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left, R.anim.slide_in_left, R.anim.slide_out_right);