【Android】53、碎片和活動之間進行通訊
本篇博文最後修改時間:2016年9月7日,16:48。
一、簡介
本篇介紹碎片和活動之間進行通訊。
二、實驗平臺
系統版本:Windows7 家庭普通版 32位作業系統。
博主:思跡
宣告:喝水不忘挖井人,轉載請註明出處。
原文地址:http://blog.csdn.net/omoiato
聯絡方式:[email protected]
Java零基礎入門交流群:541462902
四、碎片和活動之間進行通訊
雖然碎片都是嵌入在活動中顯示的,可是實際上它們的關係並沒有那麼親密。
碎片和活動都是各自存在於一個獨立的類當中的,它們之間並沒有那麼明顯的方式來直接進行通訊。
1、從佈局檔案中獲取碎片的方法
為了方便碎片和活動之間進行通訊,FragmentManager 提供了一個類似於findViewById()的方法,
專門用於從佈局檔案中獲取碎片的例項,程式碼如下所示:
RightFragment rightFragment = (RightFragment) getFragmentManager().findFragmentById(R.id.right_fragment);
呼叫FragmentManager 的findFragmentById()方法,可以在活動中得到相應碎片的例項,
然後就能輕鬆地呼叫碎片裡的方法了。
2、在碎片中呼叫活動裡的方法
在每個碎片中都可以通過呼叫getActivity()方法來得到和當前碎片相關聯
的活動例項,程式碼如下所示:
有了活動例項之後,在碎片中呼叫活動裡的方法就變得輕而易舉了。
另外當碎片中需要使用Context 物件時,也可以使用getActivity()方法,
因為獲取到的活動本身就是一個Context物件了。
3、碎片和碎片之間通訊
首先在一個碎片中可以得到與它相關聯的活動,
然後再通過這個活動去獲取另外一個碎片的例項,
這樣也就實現了不同碎片之間的通訊功能。