Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android中fragment和activity之間相互通信

android中fragment和activity之間相互通信

編輯:關於Android編程

在用到fragment的時候,老是會遇到一個問題,就是fragment與activity之間的通信。下面就來記錄一下activity和fragment之間 通過實現接口來互相通信的方法。

1. activity 向fragment發出通信,就這麼寫:

private OnMainListener mainListener;

// 綁定接口

@Override

public void onAttachFragment(Fragmentfragment) {

try {

mainListener = (OnMainListener)fragment;

} catch (Exception e) {

throw newClassCastException(this.toString() + " must implementOnMainListener");

}

super.onAttachFragment(fragment);

}

// 接口

public interface OnMainListener {

public void onMainAction();

}

onMainAction方法是activity向fragment發出通信的方法,裡面可以放參數, 在要發出通信的地方直接調用該方法即可。

在對應的fragment裡面要這麼寫:

public class MyFragment extends Fragment implementsOnMainListener {

……………………

@Override

public voidonMainAction() {

//這裡是實現通信的接口

}

2. fragment向activity 發出通信:(和前面差不多)

private OnFragmentListener mListener;

@Override

public void onAttach(Activity activity) {

super.onAttach(activity);

try {

mListener = (OnFragmentListener) activity;

} catch (ClassCastException e) {

throw newClassCastException(activity.toString() + " must implement OnFragmentListener");

}

}

public interface OnFragmentListener {

public void onFragmentAction(intflag);

}

在activity中 實現接口:

publicclass MainActivityextendsActivityimplementsOnFragmentListener{

………………

// 實現接口方法

@Override

public voidonFragmentAction(int flag) {

//實現通信的接口

}

兩者都是通過接口的實現來進行通信的,重要的地方就是分別在onAttachFragment和 onAttach方法中進行接口綁定。

通信還有其他方法的,比如廣播、靜態handler等,這裡就不贅述了。

end~


						
		
	
				
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved