Android实现列表数据按名称排序、中英文混合排序
发布时间:-09-16 00:58:10
来源:脚本之家
阅读:110
作者:God丶David
有时候我们需要多列表中的数据进行特定的排序,最近项目中用到的是按名称排序,所以简单来说一下:
效果图:
排序方法:Collections.sort(students,newSortChineseName());
for(Students:students){
Log.e("David","名称正序排列:"+s.getName());
}
Log.d("David","---------------------------------------");
Collections.reverse(students);
for(Students:students){
Log.e("David","名称倒序排列(一):"+s.getName());
}
Log.d("David","---------------------------------------");
Collections.sort(students,Collections.reverseOrder(newSortChineseName()));
for(Students:students){
Log.e("David","名称倒序排列(二):"+s.getName());
}
sort方法classSortChineseNameimplementsComparator{
/**
*createbyDavide
*参数说明:
*ResolveInfo为你的List集合中的类-我这里为android系统中apk信息类
*/
privateContextmContext;
//构造-传进来context对象
publicSortChineseName(ContextmContext){
this.mContext=mContext;
}
Collatorcmp=Collator.getInstance(java.util.Locale.CHINA);
@Override
publicintcompare(ResolveInfoinfo1,ResolveInfoinfo2){
StringapkName1=info1.loadLabel(mContext.getPackageManager()).toString();
StringapkName2=info2.loadLabel(mContext.getPackageManager()).toString();
/**
*createbyDavide
*开始比较-我这儿按照apk的名称排序,便获取apkName
*/
if(pare(apkName1,apkName2)>0){
return1;
}elseif(pare(apkName1,apkName2)
return-1;
}
return0;
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持亿速云。
如果觉得《java中英文汉语混合排序 Android实现列表数据按名称排序 中英文混合排序》对你有帮助,请点赞、收藏,并留下你的观点哦!