Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用自定义适配器使用TreeMap中的数据为Android listview充气是否可以接受?_Java_Android_Listview_Android Adapter_Treemap - Fatal编程技术网

Java 使用自定义适配器使用TreeMap中的数据为Android listview充气是否可以接受?

Java 使用自定义适配器使用TreeMap中的数据为Android listview充气是否可以接受?,java,android,listview,android-adapter,treemap,Java,Android,Listview,Android Adapter,Treemap,我有一个包含以下字段的对象集合: 字符串形成为UUID的ID 日期创建日期 intrating 我想创建一个选项卡式视图,该视图将包含ListView中的对象表示,并按创建日期和两个选项卡上的评级排序。看起来像是因为Stringid,需要对对象进行排序。存储这些对象的最佳数据结构是TreeMap。如果对象将存储在TreeMap,我将必须实现两个自定义的比较器,根据我的需要对它们进行排序,然后将数据传递到列表视图的适配器,如图所示 我想知道 这是一个可以接受的方法吗 如果没有,哪种方法会

我有一个包含以下字段的对象集合:

  • 字符串
    形成为UUID的ID

  • 日期
    创建日期

  • int
    rating

    我想创建一个选项卡式视图,该视图将包含
    ListView
    中的对象表示,并按创建日期和两个选项卡上的评级排序。看起来像是因为
    String
    id,需要对对象进行排序。存储这些对象的最佳数据结构是
    TreeMap
    。如果对象将存储在
    TreeMap
    ,我将必须实现两个自定义的
    比较器
    ,根据我的需要对它们进行排序,然后将数据传递到
    列表视图
    适配器
    ,如图所示

我想知道

  • 这是一个可以接受的方法吗
  • 如果没有,哪种方法会更好

  • 我不明白为什么您需要使用TreeMap,您不能简单地使用ArrayList/List和自定义比较器根据字段对数据进行排序吗?ListView基于数字ID。我必须比较来自不同来源的两个集合的项目,如果检测到更改,则使用相同的ID更新enries。似乎我无法使用列表比较具有
    String
    ID的实体。如果我没有错,您想做的是在每个片段中有两个列表,其中一个按日期排序,另一个按评级排序?对吧?让我澄清一下。我有两个需要合并的对象数据集。如果存在冲突(具有相同ID的对象),我将选择具有最新创建日期的对象。然后,结果数据集必须传递给片段,以显示根据片段目的排序的实体(例如,按日期或评级排序)。片段可能使用一个或两个适配器-这并不重要。我不明白为什么需要使用TreeMap,您不能简单地使用ArrayList/List和自定义比较器根据字段对数据进行排序吗?ListView基于数字ID。我必须比较来自不同来源的两个集合的项目,如果检测到更改,则使用相同的ID更新enries。似乎我无法使用列表比较具有
    String
    ID的实体。如果我没有错,您想做的是在每个片段中有两个列表,其中一个按日期排序,另一个按评级排序?对吧?让我澄清一下。我有两个需要合并的对象数据集。如果存在冲突(具有相同ID的对象),我将选择具有最新创建日期的对象。然后,结果数据集必须传递给片段,以显示根据片段目的排序的实体(例如,按日期或评级排序)。片段可能使用一个或两个适配器——这无关紧要。