【问题标题】:Difference between list and matrixcursor (Android)列表和矩阵光标之间的区别(Android)
【发布时间】:2015-05-21 07:16:29
【问题描述】:

我正在尝试制作一个新的 android 项目,在该项目中我从在线 JSON 文件中收集数据。 如果我在互联网上查看,我可以看到很多示例,它们将收集的数据存储在 MatrixCursor 中。 就个人而言,我认为将所有数据存储在模型类的列表中要容易得多(而且更短/更快)。 他们不使用 Lists 而不是 MatrixCursor 是否有充分的理由,或者它们之间有什么区别?

【问题讨论】:

  • 是的,您可以将它与开箱即用的 SimpleCursorAdapter 一起使用,例如,请在此处查看我的回答 stackoverflow.com/a/19860624/2252830,了解如何在 ACTV 中显示一些 Web 服务 api
  • 您也可以将在线 JSON 文件中的数据存储在 ArrayAdapter 中,还是我错了?
  • 当然可以,但是您如何让 ACTV 与 ArrayAdapter 一起工作? hehehe 看到这个问题在 5 分钟前被问到:stackoverflow.com/questions/30367712/…
  • 谁说我要用ACTV? :p 如果你愿意,你也可以在一个列表中过滤(这可能需要更多的工作)
  • 你没有说你想使用什么组件,除了在大多数情况下,如果你的数据项不是一个 TextView,你需要一个自定义的 ArrayAdapter,在大多数情况下你不需要 SCA 和 MC任何自定义适配器

标签: android list matrixcursor


【解决方案1】:

我还更喜欢使用可以从 JSON 数据创建的模型类以及这些类的自定义 ListAdapter

但是,SearchView 等组件特别需要CursorAdapter,即用于搜索建议。在那些情况下。将数据放入像 MatrixCursor 这样的游标中会更容易,然后将其传递给 SimpleCursorAdapter 并完成它。

【讨论】:

  • 上周,我用SearchView 和一个普通的列表做了一个项目。所以SearchView 没有明确要求CursorAdapter
  • @NickSpriet,当然可以,但你需要一个 1) setOnCloseListener 2) 自定义 POJO 存储数据 3) 自定义后台搜索线程/AsyncTask 4) 自定义适配器,并且使用 CursorAdapter 你可以做到就像我在上面发布的链接中所做的那样,现在有什么更容易(而且更短/更快)?
  • @pskink 不,我不需要所有这些东西。 SearchView 有一个 setOnQueryTextListener。您可以使用onQueryTextChange 过滤和更新您的列表。
  • @NickSpriet 当然我的意思是setOnQueryTextListener (bad copy/paste) ,所以你需要: 1) setOnQueryTextListener ,其余的都是一样的......
猜你喜欢
  • 1970-01-01
  • 2013-04-11
  • 1970-01-01
  • 1970-01-01
  • 2019-12-17
  • 1970-01-01
  • 1970-01-01
  • 2021-08-17
  • 1970-01-01
相关资源
最近更新 更多