fragment fragment 通信

1.直接在一個Fragment中調用另外一個Fragment中的方法
我們可以直接在一個Fragment中調用另外一個Fragment的公開方法,前提是要先拿到另外一個Fragment的實例,我們先來看看怎樣在左邊的Fragment中拿到右邊Fragment的實例:
ContentFragment cf = (ContentFragment) getActivity().getFragmentManager().findFragmentById(R.id.content_fg);
cf.showPro(name);

2.使用接口
接口可以實現兩個Fragment之間的通信,也可以實現Fragment和Activity之間的通信,這大概是用的比較多的一種方式,也是個人比較推薦的一種方式,使用接口來實現兩個Fragment之間通信,要通過宿主Activity中轉一下,如果是Fragment和宿主Activity通信則直接調用即可,我們先看看上圖中點擊韓愈的時候怎麼出現他的作品。首先在左邊的Fragment中定義一個接口:
public interface showPro {
public void showProByName(String name);
}

3.使用廣播
不論我們有沒有用ViewPager,都可以用廣播實現兩個Fragment之間的通信,廣播算是這裏最靈活的通信方式了,我們看看在左邊Fragment中發送廣播:
Intent intent = new Intent(“showPro”);
intent.putExtra(“name”, name);
LocalBroadcastManager.getInstance(getActivity())
.sendBroadcast(intent);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章