【问题标题】:Sorting a custom ListView Adapter with multiple ArrayLists使用多个 ArrayList 对自定义 ListView 适配器进行排序
【发布时间】:2020-03-19 14:18:31
【问题描述】:

我有一个自定义 ListView,适配器中有 5 个 ArrayList。

private ArrayList<String> name = new ArrayList<>();
private ArrayList<String> message = new ArrayList<>();
private ArrayList<Long> time = new ArrayList<>();
private ArrayList<String> imageId = new ArrayList<>();
private ArrayList<String> extras = new ArrayList<>();

ArrayList time 包含以毫秒为单位的剩余时间。我想从左到右显示列表。如果我只是在单个 ArrayList 上执行Collection.sort,其他的将保持不变。如何使用time 对所有 ArrayLists 进行相应的排序。

我一次将所有 ArrayLists 传递给我的自定义适配器。

有什么建议吗?

【问题讨论】:

  • 数组列表之间是否存在一对一的关系?如果是这样,为它创建一个数据模型,并按时间字段排序,其他的将随之而来。

标签: android android-listview


【解决方案1】:

我认为最好创建一个这样的新类

class Class {
   String name;
   String message;
   Long time;
   String imageId;
   String extras;
}

然后创建单个 ArrayList 然后你可以通过创建你想要的 Comparator 按任何字段对其进行排序

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-21
    • 2012-07-12
    相关资源
    最近更新 更多