java 接口回调实例详解

2025-05-29 0 50

java 接口回调实例详解

首先官方对接口回调的定义是这样的,所谓回调:就是A类中调用B类中的某个方法C,然后B类中反过来调用A类中的方法D,D这个方法就叫回调方法。这样听起来有点绕,我们可以这么理解接口回调:比如我们想知道隔壁老王啥时候回家?但是我们有自己的事情做不能一直监视着老王,那么我们可以雇员小区的保安来完成这个任务,当老王回家口,保安就给我们打电话告诉我们,老王回来了!这样就完成了一个事件的传递;

首先我们定义了一个接口

?

1

2

3

4

5

6

7
public interface DynamicMessageListener {

/**

* 获取网络数据,

* @param bean bean 对象

*/

void getDynamicData(List<DynamicBean.DataBean> bean, boolean isMore);

}

定义一个类实现这个接口

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25
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);

}

}

}

}

在网络请求层调用上面的方法:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39
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);

}

});

}

}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

原文链接:http://blog.csdn.net/aj2722465/article/details/54882712

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 java 接口回调实例详解 https://www.kuaiidc.com/115587.html

相关文章

发表评论
暂无评论