TableRow tableRow = new TableRow(getContext());
List<File> threeFiles = listOfFiles.subList(i, i+2);
threeFiles.forEach(action -> tableRow.addView(new ImageView(getActivity().getApplicationContext()).setBackground(Drawable.createFromPath(action.getAbsolutePath()))));
在最后一行,它说ViewGroup中的addView(android.view.View)无法应用于(void)。
如何使用Java 8 ForEach将带有文件源的Views添加到表行?我正在尝试更多地使用Java 8 Streams以使代码更简洁
最佳答案
您的问题是通过在末尾添加setBackground
使该行返回空,因为setBackground
返回空,您可能需要像这样吐出一行:
threeFiles.forEach(action -> {
ImageView imageView = new ImageView(getActivity().getApplicationContext());
imageView.setBackground(Drawable.createFromPath(action.getAbsolutePath());
tableRow.addView(imageView);
});
关于java - 使用Java 8 forEach向表行添加 View ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59010592/