91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在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

略阳县| 襄樊市| 根河市| 东安县| 镇安县| 民权县| 广元市| 蛟河市| 昌黎县| 宁安市| 富源县| 虞城县| 梓潼县| 平泉县| 华安县| 东安县| 德令哈市| 大名县| 建湖县| 乐至县| 昌黎县| 东阿县| 临沂市| 孝感市| 万载县| 桂东县| 德昌县| 新宁县| 丹东市| 高邮市| 花莲县| 永兴县| 苏尼特左旗| 楚雄市| 麻城市| 巴彦淖尔市| 开远市| 大名县| 松溪县| 拜城县| 兴国县|