Вы можете просто отсортировать список, который вы передаете в ListView.Что-то вроде:
final SortState sort = SortState.ByName;
add(new ListView(id, new AbstractReadOnlyModel<ArrayList<Person>>() {
public ArrayList<Person> getObject() {
ArrayList<Person> list = makeList();
Comparator<Person> comparator = getComparator(sort);
Collections.sort(comparator, list);
return list;
}
});
add(new Link(sortByAgeLinkId) {
public void onClick() { sort = SortState.ByAge;}
});
... больше ссылок по разным критериям.