Android開發之回調函數


  寫在前面,最近對回掉函數有了更深刻的認識,現在記錄如下。由於在家看不到底層代碼,在公司不能訪問外網,現在只能憑靠記憶寫這篇博文了,寫錯的地方還希望大神們指出來


 

其實給組件設置監聽就是最典型的回掉函數的實例。為此專門看了下底層的控件View控件。

 

  1. 在View.java中,定義了各種接口,比如OnClickListener、OnTouchListener、OnLongClickListener、OnScrollListener、OnDragListener等等各種接口
  2. 然后在View.java中設置相應的set方法和全局變量mOnClickListener,在set方法中為mOnClickListener賦值。比如:setOnClickListener(OnClickListener listener)。
  3. 最后在View.java中要有(理論上)調用該接口中方法的地方,注意判斷全局變量mOnClickListener是否為空。——比如在onTouchevent中去調用

 

以上就完成了接口(回掉)的定義。也可以稱之為函數(方法)理論上的流程。因為畢竟只是定義了接口。而方法實際的流程,也就是實際的操作是在另外一個類中,比如我們平時對一個Button去setOnClickListener(OnClickListener listener),就是對該接口的實現,也稱之為對該接口的回掉。

 

對接口的回掉時要在另外一個類中做如下操作:

  1. 導包eg:import android.view.View.OnClickListener;
  2. 必須要在控件初始化的時候set該接口eg:在OnCreate中初始化Button的時候btnButton.setOnClickListener(new OnClickListener());——比如在OnCreate中
  3. 要實現接口中的方法。

 

以前總結過事件監聽的四種方法,由於事件監聽和回掉是一個原理,故設置回掉函數也有四種方法,詳見

Android點擊Button按鈕的四種事件監聽方法總結

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM