温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何在java项目中实现接口回调

发布时间:2020-11-26 17:38:14 来源:亿速云 阅读:207 作者:Leah 栏目:编程语言

这篇文章将为大家详细讲解有关如何在java项目中实现接口回调,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

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项目中实现接口回调就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI