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中的方法。