接口回调的实现

在我们使用线程的时候,实现runable接口处理自己的逻辑,将runable传给线程对象,线程就可以调用我们的处理函数了

使用listview的时候,自定义一个适配器,传给listview,listview就可以调用我们自定义适配器中的接口函数了

我们也可以在自己的类中创建接口回调,供别人使用:

模拟一个短信备份的工具类,短信备份函数接收一个参数作为回调接口传入,在备份过程调用回调函数处理用户逻辑,达到友好的交互

短信备份类:

public class SmsUtils {
    //短信备份回调接口类,由使用者实现
    public interface SmsBackUpCallBack{
        //备份之前调用,参数为短信总数
        public void beforeSmsBackup(int size);
<span style="white-space:pre">	</span>//备份过程中调用,参数为备份到第几条了
        public void ateferSmsBackup(int progress);

    }

    public static boolean smsBackUp(Context context, SmsBackUpCallBack callBack) throws Exception {

<span style="white-space:pre">	</span>    int size = 50;//模拟50条短信
            callBack.beforeSmsBackup(size);

            int mProgress;
            for (<span style="font-family: Arial, Helvetica, sans-serif;">mProgress=1;mProgress<51;mProgress++</span><span style="font-family: Arial, Helvetica, sans-serif;">) {</span>
                callBack.ateferSmsBackup(mProgress);
                SystemClock.sleep(500);
            }
            return true;
    }

}
使用短信备份类:用户自己实现两个接口回调函数的逻辑处理,调用备份函数的时候传递给我们就可以

boolean result = SmsUtils.smsBackUp(getApplicationContext(), new SmsUtils.SmsBackUpCallBack() {
                    public void beforeSmsBackup(int size) {
                        mProgressDialog.setMax(size);//设置进度条
                    }

                    public void ateferSmsBackup(int progress) {
                        mProgressDialog.setProgress(progress);//更新进度条
                    }
                });



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Barry__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值