Day27-Java回調(diào)

回調(diào)的簡(jiǎn)單demo

簡(jiǎn)述

A類讓"有能力"的B類去完成某些事情, A類只負(fù)責(zé)命令, B類負(fù)責(zé)具體實(shí)施.

實(shí)現(xiàn)

  1. 需要返回值的類創(chuàng)建接口
public class A{
    //1. 創(chuàng)建接口
    public interface Callback{
        boolean doSomething();
    }

    //2. 創(chuàng)建接口實(shí)例
    private Callback mCallback;

    //3. 給接口實(shí)例賦值的方法
    public void setCallback(Callback callback){
        this.mCallback = callback;
    }

    //4. 正常使用接口的回調(diào)值的地方
    public void execute(){
        Log.i(tag, mCallback.doSomething()+"");
    }
}
  1. 返回?cái)?shù)值的類.
    創(chuàng)建需要值的類, 并實(shí)現(xiàn)接口, 重寫接口方法.
public class B extends AppCompatActivity implements A.Callback {
    //1. 創(chuàng)建A的實(shí)例
    private A mA;
    //2. 實(shí)現(xiàn)A里的接口

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ...
        A mA = new A();
        //3. B發(fā)起回調(diào), 通過(guò)A的實(shí)例
        mA.setCallback(this);
    }

    //4. 實(shí)現(xiàn)接口 & 重寫方法
    @Override
    public boolean doSomething() {
        return false;
    }
}

參考
對(duì)Android中“回調(diào)”的理解

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚_t_閱讀 31,754評(píng)論 18 399
  • 轉(zhuǎn)自:http://blog.csdn.net/jackfrued/article/details/4492194...
    王帥199207閱讀 8,588評(píng)論 3 93
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,065評(píng)論 25 708
  • 小編費(fèi)力收集:給你想要的面試集合 1.C++或Java中的異常處理機(jī)制的簡(jiǎn)單原理和應(yīng)用。 當(dāng)JAVA程序違反了JA...
    八爺君閱讀 4,650評(píng)論 1 114
  • 記起李中瑩《重塑心靈》里感悟比較深的幾句話,怕忘了,趕緊記下來(lái)。大意如下:當(dāng)我們遇到難以解決的事時(shí),第一反應(yīng)一般是...
    bitdp閱讀 125評(píng)論 0 0