最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java 接口回調(diào)實例詳解

 更新時間:2017年07月19日 15:46:46   投稿:lqh  
這篇文章主要介紹了java 接口回調(diào)實例詳解的相關(guān)資料,所謂回調(diào)就是使用java中的多態(tài),需要的朋友可以參考下

java 接口回調(diào)實例詳解

首先官方對接口回調(diào)的定義是這樣的,所謂回調(diào):就是A類中調(diào)用B類中的某個方法C,然后B類中反過來調(diào)用A類中的方法D,D這個方法就叫回調(diào)方法。這樣聽起來有點繞,我們可以這么理解接口回調(diào):比如我們想知道隔壁老王啥時候回家?但是我們有自己的事情做不能一直監(jiān)視著老王,那么我們可以雇員小區(qū)的保安來完成這個任務(wù),當(dāng)老王回家口,保安就給我們打電話告訴我們,老王回來了!這樣就完成了一個事件的傳遞;

首先我們定義了一個接口:

public interface DynamicMessageListener { 
/** 
 * 獲取網(wǎng)絡(luò)數(shù)據(jù), 
 * @param bean bean 對象 
 */ 
void getDynamicData(List<DynamicBean.DataBean> bean, boolean isMore); 
} 

    定義一個類實現(xiàn)這個接口:

public class DynamicFragment extends Fragment implements DynamicMessageListener { 
//初始化監(jiān)聽者 
  private DynamicMessageListener listener; 
/** 
   * 獲取網(wǎng)絡(luò)數(shù)據(jù) 
   * 
   * @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------有數(shù)據(jù)"); 
      } else { 
        adapter.setData(bean); 
      } 
 
    } 
 
  } 
} 

    在網(wǎng)絡(luò)請求層調(diào)用上面的方法:

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; 
  } 
/** 
   * 加載網(wǎng)絡(luò)數(shù)據(jù), 
   * @param url  網(wǎng)絡(luò)url 
   * @param params 請求網(wǎng)絡(luò)攜帶的參數(shù) 
   */ 
  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("沒有數(shù)據(jù)-----"); 
          } 
        } 
      } 
      @Override 
      public void loadError(int a) { 
        showError(a, mContext); 
      } 
    }); 
  } 
} 

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

最新評論

安泽县| 衡南县| 德兴市| 鹤峰县| 合阳县| 罗甸县| 安达市| 五原县| 伽师县| 贞丰县| 寿光市| 河东区| 澄迈县| 静宁县| 宁都县| 塔城市| 峨眉山市| 永济市| 广丰县| 宝兴县| 林口县| 罗江县| 亚东县| 教育| 云和县| 富顺县| 临汾市| 容城县| 玛多县| 安顺市| 嘉善县| 昆山市| 阿坝县| 祁门县| 集安市| 泾阳县| 嘉祥县| 遵化市| 泰和县| 瓦房店市| 长宁区|