【发布时间】:2013-06-04 17:56:09
【问题描述】:
我有以下代码:
packageManager = getPackageManager();
List<PackageInfo> packageList = packageManager.getInstalledPackages(PackageManager.GET_PERMISSIONS);
List<PackageInfo> installedapps = new ArrayList<PackageInfo>();
for(PackageInfo apps: packageList){
if(!isSystemPackage(apps)){
installedapps.add(apps);
}
}
Collections.sort(installedapps, new Comparator<PackageInfo>(){
public int compare(PackageInfo o1, PackageInfo o2) {
return o1.packageName.compareTo(o2.packageName);
}
});
apkList = (ListView) findViewById(R.id.listView);
apkList.setAdapter(new AppInfoAdapter(this, installedapps, packageManager));
installedapps 是设备上所有应用程序减去系统应用程序的列表。我唯一想做的就是按字母顺序对它们进行排序,不太清楚如何。
【问题讨论】:
-
在将列表传递给适配器之前对其进行排序。 blog.vogella.com/2009/08/04/collections-sort-java
-
我只是对我正在比较的内容感到困惑,我使用了:Collections.sort(installedapps, new Compater
等。我感到困惑的是我应该比较什么两个 PackageInfo 对象