Listview dans l'ordre alphabétique
J'ai une listview qui obtient facebook des amis, et je voudrais trier les noms dans l'ordre alphabétique, mais je ne suis pas très sûr de savoir comment aller sur et faire.
Voici le code:
@Override
public void onComplete(List<Profile> friends) {
//populate list
List<String> values = new ArrayList<String>();
for (Profile profile : friends) {
//profile.getInstalled();
values.add(profile.getName());
}
ArrayAdapter<String> friendsListAdapter = new ArrayAdapter<String>(getApplicationContext(), R.layout.list_items2, values);
mFriendsList.setAdapter(friendsListAdapter);
}
};
J'ai regardé autour de solutions, mais n'ai pas trouvé pour arraydapter.
OriginalL'auteur da_st | 2014-04-12
Vous devez vous connecter pour publier un commentaire.
vous pouvez utiliser
ArrayAdapter.sort
OriginalL'auteur Blackbelt
vous avez besoin pour créer un comparateur qui trie lis pour vous.
ensuite vous avez juste à faire
ou tout simplement vous pouvez créer une classe anonyme
OriginalL'auteur Waqar Ahmed
Puisque vous voulez trier une simple liste de tableaux de chaîne, il suffit de faire
avant de passer à la liste dans le ArrayAdapter.
Lorsque les éléments sont rendus dans la liste, il devrait déjà l'affichage de résultats triés.
*Remarques supplémentaires:
Si vous souhaitez faire compliqué de tri sur les objets, vous pouvez utiliser un tri personnalisé par un passage à la mise en œuvre de Comparateur comme second paramètre de Collections.sort()
OriginalL'auteur Jonathan Liono
Utiliser un
Comparator
. Il vous définir ce que pour comparer et comment, dans lecompare()
méthode vous de définir ce qui doit être retourné à partir de deux de vos instances. Voici un exemple pour unString
Comparator
.Une fois défini, il vous suffit de l'affecter à la
ListView
par le.sort()
méthode. Dans le cas où vous utilisez une mise en page personnalisée, avec une coutumeClass
, c'est ce que vous recevez en tant que lecompare()
arguments, ce qui est au dessus est juste un exemple pour une mise en page simple avec deuxString
s. Addapt à la mise en page que vous utilisez, et il va rentrer dans l'ordre.OriginalL'auteur nKn