編輯:關於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~
本文為大家分享了Android模仿新浪微博啟動界面&登陸界面的具體實現代碼,供大家參考,具體內容如下啟動界面主要有兩個功能:1.加載啟動動畫2.判斷網絡,有者直接進入登陸
觀察者模式(Observer)觀察者模式是對象的行為模式,又被叫做為模型-視圖模式。這種模式定義了一種一對多的依賴關系,使多個觀察者對象同時監聽某個角色對象。一旦這個角色
在平時開發過程中,MD5加密是一個比較常用的算法,最常見的使用場景就是在帳號注冊時,用戶輸入的密碼經md5加密後,傳輸至服務器保存起來。雖然md5加密經常用,但是md5的
這是我在 MDCC 上分享的內容(略微改動),也是源碼解析第一期發布時介紹的源碼解析後續會慢慢做的事。從總體設計和原理上對幾個圖片緩存進行對比,沒用到他們的朋友也可以了解