java 接口回调实例详解
发布时间 - 2026-01-11 02:25:14 点击率:次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按时间梯度实现异步回调接口的方法
# Java中的接口回调实例
# 深入了解Java接口回调机制
# 基于Java接口回调详解
# Java接口回调的本质详解
# Java接口的回调机制的实现
# Java接口回调和方法回调的简单实现步骤
# 老王
# 类中
# 我们可以
# 自己的
# 是这样
# 希望能
# 想知道
# 告诉我们
# 谢谢大家
# 听起来
# 就叫
# 就给
# 来完成
# 完成了
# 加载
# boolean
# isMore
# nbsp
# DynamicBean
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】
laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法
Android中AutoCompleteTextView自动提示
Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区
Laravel Admin后台管理框架推荐_Laravel快速开发后台工具
linux写shell需要注意的问题(必看)
Laravel怎么在Blade中安全地输出原始HTML内容
JavaScript中如何操作剪贴板_ClipboardAPI怎么用
Laravel中间件如何使用_Laravel自定义中间件实现权限控制
如何用AWS免费套餐快速搭建高效网站?
Laravel如何实现数据库事务?(DB Facade示例)
常州企业网站制作公司,全国继续教育网怎么登录?
如何在阿里云虚拟服务器快速搭建网站?
Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】
魔毅自助建站系统:模板定制与SEO优化一键生成指南
Laravel Debugbar怎么安装_Laravel调试工具栏配置指南
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
如何在云主机上快速搭建多站点网站?
如何在Windows 2008云服务器安全搭建网站?
Java遍历集合的三种方式
Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践
使用豆包 AI 辅助进行简单网页 HTML 结构设计
利用python获取某年中每个月的第一天和最后一天
如何在万网主机上快速搭建网站?
Android实现代码画虚线边框背景效果
焦点电影公司作品,电影焦点结局是什么?
Python结构化数据采集_字段抽取解析【教程】
小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
详解阿里云nginx服务器多站点的配置
Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】
Python文件流缓冲机制_IO性能解析【教程】
Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】
如何在不使用负向后查找的情况下匹配特定条件前的换行符
Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
济南网站建设制作公司,室内设计网站一般都有哪些功能?
Laravel如何实现全文搜索功能?(Scout和Algolia示例)
Laravel如何使用Collections进行数据处理?(实用方法示例)
如何在阿里云虚拟主机上快速搭建个人网站?
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
Python文本处理实践_日志清洗解析【指导】
如何用景安虚拟主机手机版绑定域名建站?
油猴 教程,油猴搜脚本为什么会网页无法显示?
JavaScript模板引擎Template.js使用详解
南京网站制作费用,南京远驱官方网站?
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南

