2016-10-29 7 views
3

I가 다음 코드retrolambda의 목록을 어떻게 반복 하시겠습니까?

List<Trailer> trailers = response.body().getResults(); 
trailers.stream().forEach(trailer -> { 
    View reviewView = LayoutInflater.from(mContext).inflate(R.layout.trailer_list_item, null); 
    ((TextView) reviewView.findViewById(R.id.movies_trailers_list)).setText(trailer.getName()); 
    LinearLayout linearLayout = (LinearLayout) mView.findViewById(R.id.movie_trailers); 
    linearLayout.addView(reviewView); 
}); 

retrolambda 작업이 동일한 코드를 얻을 수있는 방법이 있나요? 필자는 목록 결과를 반복하여 필료로 돌아가서보기를 추가해야합니다.

모든 조언을 주시면 감사하겠습니다.

+0

다음을 확인하십시오. http://stackoverflow.com/questions/30235441/use-rxjava-and-retrofit-to-iterate-through-list-and-augment-results-based-on-sub –

+0

도움을 주셔서 감사합니다! 이제 그것을 살펴보십시오 –

답변

4

내가 친절하게 자바 8 개 스트림 부분에 대한 추가 라이브러리로 streamsupport을 사용하는 것이 좋을 것 :

import java8.util.stream.StreamSupport; 

StreamSupport.stream(trailers).forEach(trailer -> { 
    View reviewView = LayoutInflater.from(mContext).inflate(R.layout.trailer_list_item, null); 
    ((TextView) reviewView.findViewById(R.id.movies_trailers_list)).setText(trailer.getName()); 
    LinearLayout linearLayout = (LinearLayout) mView.findViewById(R.id.movie_trailers); 
    linearLayout.addView(reviewView); 
}); 

자바 8 스트림 코드에 대한 필요한 변경은 일반적으로 매우 작고 (대부분의 경우) 정비사입니다.

새로운 Java 9 Stream 메소드 takeWhile/dropWhile과 다른 모든 Java 9 개선 사항 (특히 선택 및 수집기) 및 최적화가 제공된다는 점에서 추가적인 매력이 있습니다. API 문서 here을 찾을 수 있습니다.

+0

고마워요! –