gpt4 book ai didi

java - 使用 SimpleAdapter 排序

转载 作者:行者123 更新时间:2023-12-01 18:58:55 25 4
gpt4 key购买 nike

我想根据应用程序中的某些值对我的 Listview 进行排序,但我不知道如何编码。我研究发现人们正在使用比较器和集合来对数组列表进行排序。基本上,我想按某些状态进行排序,例如接受或拒绝。该值存储在 TAG_ACCEPT_REJECT 中并显示在 R.id.applicantStatus 中。

下面是我的代码:

adapter = new SimpleAdapter(
ApplicantJobStatusActivity.this,
applicantsList,
R.layout.list_applicant_status,
new String[] { TAG_UID, TAG_NAME,
TAG_ACCEPT_REJECT,
TAG_ACCEPT_REJECT_DATETIME },
new int[] { R.id.applicantUid,
R.id.applicantName,
R.id.applicantStatus,
R.id.accept_reject_datetime });
setListAdapter(adapter);

我想知道如何以及在哪里放置使用比较器和集合的排序代码来重新排列我的 ListView

最佳答案

您应该先对列表 applicantsList 进行排序,然后再将其传递给适配器。然后您可以使用Collections.sort 方法。类似这样的事情:

Collections.sort(applicantsList, new Comparator<T extends Map<String, ?>> {
public int compare(T map1, T map2) {
if (!map1.has(TAG_ACCEPT_REJECT)) return -1;
if (!map2.has(TAG_ACCEPT_REJECT)) return 1;

// Assumes the objects you store in the map are comparables
return map1.get(TAG_ACCEPT_REJECT).compareTo(map2.get(TAG_ACCEPT_REJECT));
}
});

关于java - 使用 SimpleAdapter 排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13012282/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com