Android: ListView排序及过滤
1) 排序
ListView通过适配器得到内容数据,可以对数据list先排序再提供给ListView:
private List<Map<String, Object>> getData() {
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
//add Data ...
//对list进行排序
if (!list.isEmpty()) {
Collections.sort(list, new Comparator<Map<String, Object>>() {
@Override
public int compare(Map<String, Object> object1,
Map<String, Object> object2) {
//根据文本排序
return ((String) object1.get("text_content")).compareTo((String) object2.get("text_content"));
}
});
}
return list;
}
排序前后效果:
2) 过滤
简单根据 .avi后缀过滤
for (File file : sdPath.listFiles()) {
if (file.isFile() && file.getName().endsWith(".avi")) {
//add data to list
}
}
效果: