> Java > java지도 시간 > 본문

Java의 인터페이스 콜백에 대한 예제 코드 공유

黄舟
풀어 주다: 2017-07-20 14:22:51
원래의
1227명이 탐색했습니다.

이 글에서는 자바 인터페이스 콜백 인스턴스에 대한 자세한 설명을 주로 소개합니다. 소위 콜백은 자바에서 다형성을 사용하는 것입니다. 필요하신 분들은 참고하시면 됩니다.

자바 인터페이스 콜백 인스턴스에 대한 자세한 설명

우선, 인터페이스 콜백의 공식 정의가 바로 콜백입니다. 클래스 A가 클래스 B의 메서드 C를 호출하고, 그런 다음 클래스 B가 클래스 A의 메서드 D를 호출합니다. 이 메서드 D를 호출합니다. 콜백 메서드. 다소 복잡하게 들리지만 인터페이스 콜백을 다음과 같이 이해할 수 있습니다. 예를 들어 옆집 Mr. Wang이 집에 언제 올지 알고 싶습니다. 하지만 우리는 해야 할 일이 있고 라오 왕을 항상 감시할 수 없기 때문에 이 작업을 완료하기 위해 지역 사회에서 경비원을 고용할 수 있습니다. 라오 왕이 집에 오면 경비원이 우리에게 전화를 걸어 라오 왕이 왕이 돌아왔다! 이로써 이벤트 전달이 완료됩니다.

먼저 인터페이스를 정의합니다.


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의 인터페이스 콜백에 대한 예제 코드 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿