【问题标题】:Show items in ListView filtered by Date在按日期过滤的 ListView 中显示项目
【发布时间】:2018-03-14 15:10:53
【问题描述】:

我的应用程序中有一个 ListView。它保存属于某个对象的信息。对象中最重要的值是日期值。我需要像这样按日期对 ListView 项目进行排序...

12-12-2018
13-12-2018
14-12-2018
15-12-2018

我不能假设日期会像来自 Web 服务的那样,他们可能会在即将到来的日期之前带回以后的日期。

我首先对对象进行排序并将它们传递给适配器,但觉得这可能很麻烦,并认为 ListView 可能会为我做这件事。有没有更好的方法或者这是最好的方法?适配器是否总是在对象列表的每次迭代中呈现项目?

谢谢

【问题讨论】:

  • 嘿 ADM 对不起,我想不出排序这个词,最后想到了格式 :(。但我正在尝试按日期排序,我想最好先对列表进行排序并发送到适配器还是 ListView 有办法做到这一点?
  • 只是寻找人们通常会为达到最佳标准所做的事情。
  • 使用长 Timestamp 来表示日期,这样列表可以很容易地用长排序。你的情况如何?
  • 为什么不通过在日期上应用 orderby 子句来排序对象列表?(考虑到您的日期是 DateTime 格式)

标签: c# android xamarin


【解决方案1】:

在这个article

ListView 是一个适配器视图,它不知道它所包含的视图的详细信息,例如类型和内容。

从 Android 设计模式来看,ListView 使用 Adapter Pattern 来显示其内容。还有一个案例讲this

另外,还有一个声音,ListViewMVC

无论是Adapter Pattern还是MVC,ListView本身并不持有数据,需要一个Model来管理数据,并通过Adapter展示出来。


有没有更好的方法或者这是最好的方法?

首先对数据进行排序并将其传递给适配器是最好的方法。 ListView 不行,它只负责显示View。通过这种方式,您的ListView 将变得更易于维护和扩展,这意味着如果您想要更改数据上的某些内容,您不需要更改您的ListView 上的任何内容,您只需要专注于您的@ 987654333@ 保存您的数据。

【讨论】:

  • 谢谢!这些链接真的很有帮助,我学到了很多东西!首先排序是有意义的,然后传递给适配器。再次感谢:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-11-27
  • 1970-01-01
  • 2021-11-25
  • 2019-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多