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;

}

排序前后效果:

Android: ListView排序及过滤Android: ListView排序及过滤

2) 过滤

简单根据 .avi后缀过滤

for (File file : sdPath.listFiles()) {

if (file.isFile() && file.getName().endsWith(".avi")) {

//add data to list

}

}

效果:

Android: ListView排序及过滤Android: ListView排序及过滤