Android Fragment與Activity互動的幾種方式

來源:互聯網
上載者:User

標籤:sdn   target   調用   load   ide   inter   code   pre   over   

這裡我不再詳細介紹那寫比較常規的方式,例如靜態變數,靜態方法,持久化,application全域變數,收發廣播等等。

首先我們來介紹使用Handler來實現Fragment與Activity 的互動。

第一步,我們需要在Activity中定義一個方法用來設定Handler對象。

public void setHandler(Handler handler) {     mHandler = handler;}

第二步,在Fragment中的回呼函數onAttach()中得到Fragment所在Activity,並調用setHandler方法,設定Handler。該Handler在Fragment中定義,用來接收訊息與Fragment進行互動。

@Overridepublic void onAttach(Activity activity) {    super.onAttach(activity);    mActivity = (MainActivity) activity;    mActivity.setHandler(mHandler);}public Handler mHandler = new Handler() {public void handleMessage(android.os.Message msg) {    switch (msg.what) {              case 1:                       text.setText((String) msg.obj);               break;    }  };};                            

然後我們可以在Activity中發送訊息給Fragment中的Hanlder進行互動。

public void inter(View view) {         Message msg = new Message();         msg.obj = edit.getText().toString();         msg.what = 1;         mHandler.sendMessage(msg);}

我寫了一個Demo與大家分享,連結地址:http://download.csdn.net/detail/huangyabin001/7559807

點擊下載demo

Android Fragment與Activity互動的幾種方式

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.