亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

更多QQ空间微信QQ好友腾讯朋友复制链接
您的位置:首頁/技術(shù)文章
文章詳情頁

android - fragment中ViewPage中有兩個fragment的通信問題

【字号: 作者:豬豬瀏覽:84日期:2024-08-17 08:49:52

問題描述

在主的fragment中有一個toolbar下面是ViewPager,ViewPager里面是fragment。現(xiàn)在我要操作toolbar上面的按鈕,改變ViewPager中的Fragment中的數(shù)據(jù),有什么好的通信方式。

問題解答

回答1:

題主所說如果只是Toolbar與Fragment的交互, 那就比較簡單了:

Activity#setActionBar(android.widget.Toolbar) 或者 AppCompatActivity#setSupportActionBar(android.support.v7.widget.Toolbar)

Fragment#setHasOptionsMenu(boolean)

Fragment內(nèi)部的ActionBar的處理同Activity, 見下圖:android - fragment中ViewPage中有兩個fragment的通信問題

p.s.分割線以下為Fragment之間的交互的相關(guān)資料.

最簡單的方式是EventBus, 可選庫:

greenrobot/EventBus

AndroidKnife/RxBus

square/otto

其次就是LocalBroadcastManager, 參考資料:

Android Developer Reference # android.support.v4.content.LocalBroadcastManager

再次就是Fragment借助Activity來進行交互, 參考資料:

Android Developer Guide # Communicating with Other Fragments

Android Developer Guide # Fragment

最后就是直接通過TargetFragment來實現(xiàn), 相關(guān)函數(shù):

Fragment#setTargetFragment(android.app.Fragment, int)

Fragment#getTargetFragment()

Fragment#getTargetRequestCode()

方法選定之后, 最后需要注意的是:

FragmentPagerAdapter和FragmentStatePagerAdapter在管理Fragment時是有差別: 回收Fragment的處理是不同的. 因此, 需要考慮的是, 當(dāng)Fragment被回收后以及再次出現(xiàn)在屏幕上時, App應(yīng)該如何處理(保存&還原)題中所說的Fragments之間的交互關(guān)系.

回答2:

如果是兩個Fragment 之間要互通數(shù)據(jù) 可以用 EventBus

如果只是在操作 toolbar 切換fragment,加載 fragment 直接傳入 數(shù)據(jù)

相關(guān)文章:
主站蜘蛛池模板: 国产一级在线现免费观看 | 国产一国产一有一级毛片 | 香蕉爱爱视频 | 在线性视频| 香蕉毛片 | 免费一区二区三区视频狠狠 | 青青免费视频在线 | 欧美激情首页 | 久久久久久久岛国免费播放 | 欧美三片 | 日本黄色影片在线观看 | 成人在线视频国产 | 国产一级片免费视频 | 国产伦精品一区三区视频 | 国产毛片久久精品 | 精品中文字幕不卡在线视频 | 日韩一区二区三区在线观看 | 国产精品美女免费视频观看 | 成人在线网 | 美国一级毛片在线观看 | 18禁片一级毛片视频播放免费看 | 麻豆网| 日韩18视频在线观看 | 久免费视频 | 国产免费一区二区在线看 | 成年大片免费视频播放手机不卡 | 成人看片黄a在线观看 | 国语自产免费精品视频在 | 亚洲国产精品一区二区久久 | 亚洲欧美精品中文字幕 | 一级爱做片免费观看久久 | 毛片1级| 国产伦理播放一区二区 | 亚洲人成网国产最新在线 | 国产福利在线永久视频 | 国产黄色大片在线观看 | 台湾永久内衣秀86部钟真 | www视频免费在线观看 | 色久视频 | 九九热视频免费 | 性感毛片 |