【发布时间】:2014-03-22 13:39:58
【问题描述】:
这是在 onCreate 方法中:
list = dba.getAllFriends();
adapter = new ArrayAdapter<Friend>(this,
android.R.layout.simple_list_item_1, list);
adapter.sort(Friend.NAME_COMPARATOR);
setListAdapter(adapter);
adapter.notifyDataSetChanged();
这是比较器:
public static final Comparator<Friend> NAME_COMPARATOR = new Comparator<Friend>() {
public int compare(final Friend friend1, final Friend friend2) {
return friend1.getName().compareTo(friend2.getName());
}
};
知道为什么它不起作用吗?
编辑:
list = dba.getAllFriends();
Collections.sort(list, Friend.NAME_COMPARATOR);
Log.d("ListSorted", list.toString());
adapter = new ArrayAdapter<Friend>(this,
android.R.layout.simple_list_item_1, list);
setListAdapter(adapter);
adapter.notifyDataSetChanged();
我也这样尝试过,我得到了排序的输出 (LogCat),但在 ListView 中它保持未排序。怎么回事?
【问题讨论】:
标签: android listview comparator