【发布时间】:2015-02-28 02:40:18
【问题描述】:
我在 SQLite 数据库中有一些数据。我有一个内容提供程序,它将从数据库中获取数据。现在的问题是如何实现 cursorLoader 与 recyclerview 一起工作?
另外,任何人都可以解释为什么我们需要将数据从光标传输到对象以显示在列表视图/回收器视图中,而不是直接从光标传输?
例如,在自定义的 cursorAdapter 类中,
Person person = new Person(cursor.getString(cursor.getColumnIndexOrThrow(PERSON_NAME)));
textview.setText = person.getName();
或
textview.setText = cursor.getString(cursor.getColumnIndexOrThrow(PERSON_NAME));
以上方法哪一种更好?
过去,我们曾经有listview和gridview,现在看来它们组合成了recyclerview。那么,如何实现一个基于网格的recyclerview呢?
【问题讨论】:
-
您不必使用任何列表:使用 ItemBridgeAdapter + CursorObjectAdapter 或直接在您的自定义 RecyclerView.Adapter 中绑定 Cursor
-
老实说,我不知道为什么 CursorObjectAdapter 在为电视设备设计的“leanback”支持库中,恕我直言,它应该是任何“通用”支持库的一部分
-
@pskink 我现在必须解决这个问题。请您提供一个简短的例子来说明我如何
bind the Cursor directly in [my] custom RecyclerView.Adapter?这将非常有帮助。谢谢。当你这样做时,请在回复的评论中标记我,我知道。感谢您提供的任何帮助。 -
@KatedralPillon 例如:gist.github.com/Shywim/127f207e7248fe48400b
-
@KatedralPillon 当然!永远不要将光标加载到任何列表中,似乎这里 99% 的人做了一件我不知道为什么这么愚蠢的事情(他们需要一个自定义适配器(对于
ListView,这是一个自定义BaseAdapter/ArrayAdapter)/他们需要一个 POJO 来保存数据/他们需要一个循环来遍历游标)为什么???我不知道
标签: android sqlite android-recyclerview android-contentprovider android-cursorloader