Android開發——回調(Callback)


1. 回調函數的定義:

在A類中定義了一個方法,這個方法中用到了一個接口和該接口中的抽象方法,但是抽象方法沒有具體的實現,需要B類去實現,B類實現該方法后,它本身不會去調用該方法,而是傳遞給A類,供A類去調用。

類比:

你(B類)去書店買書,結果發現想買的書賣完了,這時候書店(A類)告訴你他們有來書通知業務(接口和接口中的抽象方法),於是你留下了自己的手機號讓書店有書了給你來電(實現該抽象方法),書店等到有書了以后會根據你留下的電話和方法給你來電提醒你(B類實現的方法由A類來調用)。

2. 使用回調的情況:

  • 處理異步請求的返回值
  • 同一個事件有不同的處理方法

3. 回調的使用方法:

  • 定義接口(public interfact),預定義需要完成的函數
  • 定義A類,使用接口和該接口中的抽象方法,同時在初始化A時請求函數B作為callback的參數
  • 定義B類(implements interface),設定函數的具體動作,並將B當做參數傳給A,使A在回調時可以找到函數的位置

4. 具體代碼:

  • 定義接口

   
   
   
           
//定義回調接口
public interface Callback{
void notice();
}
  • 定義A類
    
         
         
         
                 
    public class A{
    private CallBack callBack;
    public A(CallBack callBack){
    this.callBack = callBack;
    }
    public void Operation(){
    if(callBack != null){
    callBack.notice();
    }
    }
    }
  • 定義B類

   
   
   
           
public class B implement CallBack{
public static void main(String args[]) {
A a = new A( this);
a.Operation();
}
@Override
public void notice(){
System.out.println( "Now you get notice!");
}
}




免責聲明!

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



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