Android回调函数

10 篇文章 0 订阅

在Android学习中经常会遇到回调函数这个概念,但很多读者对于回调函数的认识是不大清楚的。从定义说起估计很多读者又会被绕晕了,这里就举一个常见的例子,按键的点击事件就是就是经典的点击事件。点击事件触发onClick()方法,onClick()处理逻辑有开发者自行实现,其实质就是接口编程。回调函数在自定义View时尤为常见,在其他场合也很实用。下面我们就那Button的点击事件作为例子讲解如何去实现自定义回调函数。

1、自定义一个接口:

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

接口内部的函数就是我们可以回调的函数,并不局限与一个,很多控件是有多个回调函数得,这个根据实际情况定义,当然接口的名字也是自定义的,命名最好遵循命名规则,可以参考上面的OnClickListener。

2、定义一个接口的引用

public OnClickListener mOnClickListener;

3、创建一个函数创建一个接口的对象

public void setOnClickListener(@Nullable OnClickListener l) {
        if (!isClickable()) {
            setClickable(true);
        }
        mOnClickListener = l;
    }

4、调用回调方法

public boolean callOnClick() {
        if (mOnClickListener != null) {
            mOnClickListener.onClick(this);
            return true;
        }
        return false;
    }

这里要注意对mOnClickListener 进行判空。

5、在程序中使用

ivBack.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //实现自己的逻辑
            }
        });

上面就是大家很熟悉的按键点击事件了。

笔者在项目中也多次用到了回调函数,特别是在抽取工具类的时候,要在工具类中回调某些方法,但逻辑又要在其他界面中实现,如果不抽取成工具类,就会增加很多重复的代码。所以回调函数也能很大程度上使代码更加简洁。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值