首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >您将如何在retrolambda中迭代列表?

您将如何在retrolambda中迭代列表?
EN

Stack Overflow用户
提问于 2016-10-29 16:54:47
回答 1查看 344关注 0票数 3

我有以下代码

代码语言:javascript
复制
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一起工作?我需要遍历列表结果,然后返回并添加一个视图。

如有任何建议,将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-03 21:02:12

我建议使用流线支撑作为Java8Streams部分的附加库:

代码语言:javascript
复制
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);
});

Java 8流代码所需的更改通常很小,而且(在大多数情况下)是机械的。

它还具有额外的吸引力,因为它还提供了新的Java9Stream方法takeWhile / dropWhile和所有其他Java9增强(特别是在可选和收集器中)和优化。您可以找到API文档这里

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40321423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档