【发布时间】:2016-11-17 18:57:01
【问题描述】:
我的android 应用程序中有一个位置列表。我正在尝试从list 中删除一个位置,其中位置 ID 等于某个值。
这是我的位置类:
public class Location{
Private int locationId;
Private String locationName;
}
那么有没有一种方法可以在不使用for 或while loop 的情况下从List<Location> 中删除位置。类似于C# 中的lambda 表达式:
var filteredLocations = locations.Where(x=>x.LocationId!=3).ToList();
【问题讨论】:
-
在您的适配器中,您可以使用以下函数 mList.remove(index); 创建一个方法; notifyItemRemoved(index);
-
你被绑定到一个列表吗?在这种情况下 Map
会更好 -
由于 Android 不支持 Java 8,因此您无法访问大多数面向 lambda 的 API。第三方库 retrolambda 提供了对 lambdas 的有限支持。在您的情况下,您可以切换到 Map 或 SparseArray 或使用旧的 for。