兩個Fragment之間引數的傳遞

2021-07-22 16:15:37 字數 974 閱讀 3494

使用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);

兩個fragment的跳轉

兩個fragment的跳轉不能使用startactivity,必須使用一下方法,fragment的跳轉實際上就是在當前頁面殺死當前的fragmetn,載入另乙個fragment。fragment fragment new categoryfragment fm.begintransaction re...

兩個fragment之間資料傳輸

最近要折騰兩個fragment之間傳資料的問題,在網上看了很多文章,基本都是使用兩種方法 1,兩個fragment之間使用getfragmentmanager begintransaction replace r.id realtabcontent 容器 myjdeditfragment 要跳轉的f...

EventBus實現兩個Fragment直接的跳轉

eventbus是一款針對android優化的發布 訂閱事件匯流排。主要功能是替代intent,handler,broadcast在fragment,activity,service,執行緒之間傳遞訊息.優點是開銷小,更優雅。以及將傳送者和接收者解耦。隨便建立乙個類 那個就是物件 eventbus....