java 接口回调实例详解
首先官方对接口回调的定义是这样的,所谓回调:就是A类中调用B类中的某个方法C,然后B类中反过来调用A类中的方法D,D这个方法就叫回调方法。这样听起来有点绕,我们可以这么理解接口回调:比如我们想知道隔壁老王啥时候回家?但是我们有自己的事情做不能一直监视着老王,那么我们可以雇员小区的保安来完成这个任务,当老王回家口,保安就给我们打电话告诉我们,老王回来了!这样就完成了一个事件的传递;
首先我们定义了一个接口:
public interface DynamicMessageListener { /** * 获取网络数据, * @param bean bean 对象 */ void getDynamicData(List<DynamicBean.DataBean> bean, boolean isMore); }
定义一个类实现这个接口:
public class DynamicFragment extends Fragment implements DynamicMessageListener { //初始化监听者 private DynamicMessageListener listener; /** * 获取网络数据 * * @param bean bean 对象 */ @Override public void getDynamicData(List<DynamicBean.DataBean> bean, boolean isMore) { if (bean != null && bean.size() > 0) { if (!isMore) { adapter = new DynamicAdapter(mContext, bean, this, classID); friendLv.setAdapter(adapter); adapter.setListener(this); LLog.e("activity------有数据"); } else { adapter.setData(bean); } } } }
在网络请求层调用上面的方法:
public class DynamicModel extends BaseModel { private Context mContext; private NetUtils net; private DynamicMessageListener listener; public DynamicModel(Context mContext, DynamicMessageListener listener) { this.mContext = mContext; net = NetUtils.getInstance(); this.listener = listener; } /** * 加载网络数据, * @param url 网络url * @param params 请求网络携带的参数 */ public void loadData(String url, RequestParams params) { net.sendGetRequest(url, params, new NetUtils.NetUtilsCallBack() { @Override public void getNetdata(String json) { if (json != null) { Gson gson = new Gson(); DynamicBean bean = gson.fromJson(json, DynamicBean.class); List<DynamicBean.DataBean> data = bean.getData(); listener.getDynamicData(data, false); if(data ==null||data.size() <=0 ){ listener.friendsNoData(false); LLog.e("没有数据-----"); } } } @Override public void loadError(int a) { showError(a, mContext); } }); } }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
本文向大家介绍java回调机制实例详解,包括了java回调机制实例详解的使用技巧和注意事项,需要的朋友参考一下 java回调机制实例详解 以前不理解什么叫回调,天天听人家说加一个回调方法啥的,心里想我草,什么叫回调方法啊?然后自己就在网上找啊找啊找,找了很多也不是很明白,现在知道了,所谓回调:就是A类中调用B类中的某个方法C,然后B类中反过来调用A类中的方法D,D这个方法就叫回调方法,这样子说你是
本文向大家介绍java中的interface接口实例详解,包括了java中的interface接口实例详解的使用技巧和注意事项,需要的朋友参考一下 java中的interface接口实例详解 接口:Java接口是一些方法表征的集合,但是却不会在接口里实现具体的方法。 java接口的特点如下: 1、java接口不能被实例化 2、java接口中声明的成员自动被设置为public,所以不存在priva
本文向大家介绍Java的回调机制实例详解,包括了Java的回调机制实例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java的回调机制。分享给大家供大家参考,具体如下: 一 代码 二 运行 I've been called back 三 说明 回调机制的真正意图,就是实现控制反转,通过控制反转。对象在被创建的时候(如A处),由一个能够调控系统内所有对象的外界实体(如B处的caller
本文向大家介绍java 回调机制的实例详解,包括了java 回调机制的实例详解的使用技巧和注意事项,需要的朋友参考一下 java 回调机制的实例详解 序言 最近接触到了回调机制(CallBack)。初识时感觉比较混乱,而且在网上搜索到的相关的讲解,要么一言带过,要么说的比较单纯的像是给CallBack做了一个定义。当然了,我在理解了回调之后,再去看网上的各种讲解,确实没什么问题。但是,对于初学的我
本文向大家介绍对python调用RPC接口的实例详解,包括了对python调用RPC接口的实例详解的使用技巧和注意事项,需要的朋友参考一下 要调用RPC接口,python提供了一个框架grpc,这是google开源的 rpc相关文档: https://grpc.io/docs/tutorials/basic/python.html 需要安装的python包如下: 1.grpc安装 pip inst
本文向大家介绍Java 回调机制(CallBack) 详解及实例代码,包括了Java 回调机制(CallBack) 详解及实例代码的使用技巧和注意事项,需要的朋友参考一下 Java 回调机制 概要: 最近学习java,接触到了回调机制(CallBack)。初识时感觉比较混乱,而且在网上搜索到的相关的讲解,要么一言带过,要么说的比较单纯的像是给CallBack做了一个定义。当然了,我在理解了回调之