在Android中用到接口回调机制的地方有很多,比如说UI事件处理方面还有点击事件等等。
举一个最常见的例子button点击事件,大家应该都知道给button按钮设置点击监听的方法有四种:
1.匿名内部类
2.在布局中添加按钮时添加onClick属性
3.成员内部类实现onClickListener
4.类实现onClickListener
onClickListener就是一个接口,里面就有一个onClick()方法,
当用户点击button按钮时就会调用onclick()这个回调方法进行事件处理!
至于回调是如何实现的,我所理解的就是:
首先创建一个接口,在里面创建一个抽象方法,这个接口用于你在某种情景下根据需要执行相应的操作。
然后再创建一个功能类,比如这个类可以显示一个对话框、可以下载数据,解决从网络上下载的文字和图片不匹配问题等等。
接着,在这个类里面声明回调接口的对象,通过对象去回调借口里声明的方法,而且在这个方法里面要为声明的接口对象赋值,就是把这个类执行完的结果作为参数传进去。
最后在其他的类中使用这个功能类就可以了。所以说,最少也是需要三个类共同来完成这个回调机制。
至于回调接口的概念:就是A类想要获取B类里的数据,在A类中实例化接口,在B类中声明这个接口的对象,通过对象去调用从A类中传过来的接口里的方法,最后再将结果回传给A类!!
简单来说:就是子线程做耗时操作,然后回过头来去调用接口里面地方法,最后将结果传递给需要这个结果的类去实现一个功能!!
举一个最常见的例子button点击事件,大家应该都知道给button按钮设置点击监听的方法有四种:
1.匿名内部类
2.在布局中添加按钮时添加onClick属性
3.成员内部类实现onClickListener
4.类实现onClickListener
onClickListener就是一个接口,里面就有一个onClick()方法,
当用户点击button按钮时就会调用onclick()这个回调方法进行事件处理!
至于回调是如何实现的,我所理解的就是:
首先创建一个接口,在里面创建一个抽象方法,这个接口用于你在某种情景下根据需要执行相应的操作。
然后再创建一个功能类,比如这个类可以显示一个对话框、可以下载数据,解决从网络上下载的文字和图片不匹配问题等等。
接着,在这个类里面声明回调接口的对象,通过对象去回调借口里声明的方法,而且在这个方法里面要为声明的接口对象赋值,就是把这个类执行完的结果作为参数传进去。
最后在其他的类中使用这个功能类就可以了。所以说,最少也是需要三个类共同来完成这个回调机制。
至于回调接口的概念:就是A类想要获取B类里的数据,在A类中实例化接口,在B类中声明这个接口的对象,通过对象去调用从A类中传过来的接口里的方法,最后再将结果回传给A类!!
简单来说:就是子线程做耗时操作,然后回过头来去调用接口里面地方法,最后将结果传递给需要这个结果的类去实现一个功能!!