Список установленных приложений Alphabatize

Привет, я воспользовался приведенным ниже учебным пособием и успешно перечислил все мои установленные приложения в своем приложении.

Список всех установленных приложений в стиле

Однако он не перечисляет их в алфавитном порядке, и я не могу понять, как сортировать их так, чтобы они были. Любая помощь с этим была бы весьма признательна. Я пробовал несколько вещей, подобных этому

class IgnoreCaseComparator implements Comparator<String> { public int compare(String strA, String strB) { return strA.compareToIgnoreCase(strB); } } IgnoreCaseComparator icc = new IgnoreCaseComparator(); java.util.Collections.sort(SomeArrayList,icc); 

Но не могу понять, как применить его к названиям списка приложений. Спасибо за любую помощь в этом

=== РЕДАКТИРОВАТЬ ===

Спасибо за ответ, я сделал следующее, но имею ошибку при сортировке. Ошибка читает: «Сортировка метода (List, Comparator) в типе Collections не применима для аргументов (List, ApplicationInfo.DisplayNameComparator)»

  private List<App> loadInstalledApps(boolean includeSysApps) { List<App> apps = new ArrayList<App>(); PackageManager packageManager = getPackageManager(); List<PackageInfo> packs = packageManager.getInstalledPackages(0); for(int i=0; i < packs.size(); i++) { PackageInfo p = packs.get(i); ApplicationInfo a = p.applicationInfo; if ((!includeSysApps) && ((a.flags & ApplicationInfo.FLAG_SYSTEM) == 1)) { continue; } App app = new App(); app.setTitle(p.applicationInfo.loadLabel(packageManager).toString()); app.setPackageName(p.packageName); app.setVersionName(p.versionName); app.setVersionCode(p.versionCode); CharSequence description = p.applicationInfo.loadDescription(packageManager); app.setDescription(description != null ? description.toString() : ""); apps.add(app); } Collections.sort(apps, new ApplicationInfo.DisplayNameComparator(packageManager)); return apps; } 

Solutions Collecting From Web of "Список установленных приложений Alphabatize"