Android: ListView排序及过滤
2015-06-02 10:57
573 查看
为了实现ListView的筛选及排序效果,可使用以下方法:
转自:http://blog.csdn.net/zmyde2010/article/details/5936494
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
}
}
效果:
转自:http://blog.csdn.net/zmyde2010/article/details/5936494
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
}
}
效果:
相关文章推荐
- C#中List<>的排序使用
- 一道C#字符串的题目
- 通讯录ListView搜索的一些技巧
- C#中List的排序
- List排序原理浅析
- list排序
- List泛型数组排序
- Java借助反射实现自定义对象List的排序
- 依据对象元素的某个参数对List进行排序算法
- 依据对象元素的某个参数对List进行排序算法
- 1.提取List<bean>中的某属性集合; 2.List<bean>排序(需要指定升序降序和排序字段的类型)
- Python 中的列表排序函数
- java基础 三种方式对int类型的List集合排序(通用排序)
- 使用比较器实现list排序
- Java8 排序
- java按List<Object>中元素的值进行排序
- 对List元素的多个属性字段进行不同的排序
- Java中List的排序
- List,map排序
- 通过Collections对list进行排序、取最大、取最小等操作