Android接口回調(diào)

Android接口回調(diào),見的最多的就是系統(tǒng)的點(diǎn)擊事件的回調(diào)方法:OnClick,使用方法如下。

btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                
            }
        });

OnClickLister 是一個(gè)接口,OnClick 是回調(diào)方法。

public interface OnClickListener {
        /**
         * Called when a view has been clicked.
         *
         * @param v The view that was clicked.
         */
        void onClick(View v);
    }

所以在 Activity 里,服從這個(gè)接口,就可以換一種使用方式。

public class MainActivity extends AppCompatActivity implements View.OnClickListener
btn.setOnClickListener(this);
@Override
public void onClick(View v) {
}

知道了系統(tǒng)的接口回調(diào)的寫法,我們自己就可以自定義一個(gè)接口回調(diào)了。
舉個(gè)例子,計(jì)算兩個(gè)數(shù)的和,并通過回調(diào)方法打印出來。首先來自定義一個(gè)接口,回調(diào)方法將我們輸入的兩個(gè)數(shù),以及結(jié)果回調(diào)給我們。

public interface DoJob {
    public void fillBack(int a, int b, int result);
}

接著定義一個(gè)計(jì)算類 Calculate,這個(gè)類的 add方法,實(shí)現(xiàn)兩個(gè)數(shù)相加,并把結(jié)果交給回調(diào)方法作為參數(shù)。

public class Calculate {
    public void add(int a, int b, @Nullable DoJob customer) {
        int result = a + b;
        customer.fillBack(a, b, result);
    }
}

現(xiàn)在,就可以在 Activity 里,實(shí)現(xiàn)這個(gè)加法回調(diào)了。

Calculate c = new Calculate();
c.add(5, 10, new DoJob() {
    @Override
    public void fillBack(int a, int b, int result) {
        System.out.println(a + " + " + b + " = " + result);
    }
});

public class MainActivity extends AppCompatActivity implements DoJob
c.add(5, 10, this);
@Override
public void fillBack(int a, int b, int result) {
    Log.i("", "fillBack: " + a + " + " + b + " = " + result);
}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容