3.使用廣播android
不論咱們有沒有用ViewPager,均可以用廣播實現兩個Fragment之間的通訊,廣播算是這裏最靈活的通訊方式了,咱們看看在左邊Fragment中發送廣播:ide
Intent intent = new Intent("showPro"); code
intent.putExtra("name", name); get
LocalBroadcastManager.getInstance(getActivity()) it
.sendBroadcast(intent); io
在右邊Fragment中接收廣播:ast
LocalBroadcastManager localBroadcastManager = LocalBroadcastManager map
.getInstance(getActivity()); 方法
IntentFilter intentFilter = new IntentFilter(); im
intentFilter.addAction("showPro");
BroadcastReceiver br = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String key = intent.getStringExtra("name");
list = map.get(key);
adapter = new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_list_item_1, list);
lv.setAdapter(adapter);
}
};
localBroadcastManager.registerReceiver(br, intentFilter);
這些都是廣播基本的使用方法,我就不囉嗦了。
我的以爲,雖然廣播用起來最方便,可是在選擇使用哪一種通訊方式的時候,優先選擇上面兩種,若是前兩種方式都不能夠,再考慮使用廣播。
續:
以前還忽略了一種,這裏補充一下。
4.Fragment直接調用Activity中的public方法
咱們也能夠直接在Fragment中調用Activity中的公開方法,以下:
((MainActivity) getActivity()).showProByName(name);
這裏的showProByName就是咱們上文貼出來的那個MainActivity中的方法。