2017-09-25 13 views
0

다음 프레스코의 문서화 : 나는 리스너를 설정 한 http://frescolib.org/docs/listening-to-events.html프레스코 리스너, 언제 전화가 오나요?

는 이벤트에 알려 주시기하지만, 내가 알고 (어디서나 정보를 찾을 수 없습니다) 필요한 저해상도 호출이 알립니다 경우입니다하기 청취자들도. 그렇다면 그것을 피하는 방법, 또는 저해상도 전화에 대해 다른 청취자를 전적으로 설정하십시오. 궁금해하는 사람들을 위해, Fresco는 고해상도 버전을로드하기 전에 이미지의 저해상도 버전을로드 할 수 있으며, 콜백이 호출되는 방식은 저를 혼란스럽게합니다.

은 참조를 위해, 내 코드입니다 : 당신이 저해상도 요청의 이벤트에 대한 통지 할 경우 저해상도 요청에 RequestListener를 추가 할 필요가

/* 
    Here we create the controller, aggregating everything that has been done before and some other settings, and set the controller to our view. 
*/ 

PipelineDraweeControllerBuilder builder = Fresco.newDraweeControllerBuilder(); 
builder.setLowResImageRequest(lowResRequest) 
.setImageRequest(request) 
.setTapToRetryEnabled(true) 
.setControllerListener(controllerListener) // this is the callback listener 
.setOldController(container.getController()); 
DraweeController controller = builder.build(); 

답변

1

:

ImageRequestBuilder.fromRequest(request) 
      .setRequestListener(requestListener) 
      .build(); 

원본 이미지 요청이 저해상도보다 빠르게로드되면 프레스코는 저해상도 이미지 요청 수신기에서 onRequestCancelation을 호출합니다.

+0

고해상도 요청 이벤트 만 필요합니다. 그리고 고해상도 이미지에 대한 사용자 지정 요청도 있습니다. 청취자를 컨트롤러에 설정하는 대신 설정해야합니까? 컨트롤러 청취자와 요청 청취자의 차이점에 대해서는 다소 혼란 스럽습니다. –

+0

예, 요청에 따라 수신기를 설정해야하지만 요청 수신기는 ImagePipelineConfig에 전역으로 등록되고 모든 요청을 기록합니다. 링크의 차이점을 확인하십시오. http://frescolib.org/docs/listening-to-events.html 컨트롤러 리스너가 필요하다고 생각합니다. – bvarga