问题标签 [android-cursorloader]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1019 浏览

android - 无限循环中的android光标

我有来自游标加载器的游标。问题是,如果我尝试移动该光标,它不会向前移动并陷入无限循环。

0 投票
2 回答
1518 浏览

android - 不会共享的应用程序是否需要 Content Provider?

因为我注意到 SimpleCursorAdapter 类已被弃用,我现在应该利用我非常喜欢的新 Loader API,但是当我尝试这样做时,我发现 CursorLoader 仅适用于 ContentProvider。

现在我的问题是,我真的需要内容提供商吗?甚至官方指南都说:

如果您不打算与其他应用程序共享数据,则无需开发自己的提供程序。但是,您确实需要自己的提供程序在您自己的应用程序中提供自定义搜索建议。如果要将复杂数据或文件从应用程序复制并粘贴到其他应用程序,您还需要自己的提供程序。

而且我认为我不需要任何这个+因此会产生不必要的复杂性。所以..我应该怎么做,破解我自己的 CursorLoader 以仅与我的数据库一起工作(没有 ContentProvider 的 CursorLoader 使用),老实说我不太喜欢,或者我应该把它吸起来并遵守提供者?

谢谢!

0 投票
1 回答
1243 浏览

search - CursorLoader 不更新 listView,但光标有正确的结果

我正在为一个 pre-android 3.0 兼容的应用程序实现一个 searchView,并且正在为正确的 listView 重新加载而苦苦挣扎。我认为支持库存在一些问题,甚至可能是通过我无法使用的 onQueryTextChangedListener 的 EditText istea 上的 textChangeListener 实现的罕见实现。有什么帮助吗?

这是代码:

0 投票
1 回答
8596 浏览

android - 如何使用 CursorAdapter 和 LoaderCallbacks 在片段中实现 ContentObserver?

我正在使用 aCursorAdapterListFragment加载和显示评论列表。

notifyChange()在我为插入操作添加的关联 ContentProvider中。

问题:

  1. null可以notifyChange()作为观察者参数传递吗?如果不是,我应该在这里通过什么对象?
  2. 我应该通过uri还是itemUri通过notifyChange()?为什么?
  3. 我必须调用什么方法CommentsObserver#onChange()来更新评论列表?
  4. 有没有我可以用的ListFragment而不是内部类实例实现的接口ContentObserver
  5. 我只是new Handler()在 的构造函数中实例化 a CommentsObserver。这对我来说似乎不正确 - 请解释一下。
0 投票
1 回答
2772 浏览

android - IllegalStateException - 使用 AutocompleteTextView 支持 LoaderManager

我认为使用 CursorLoaders 和 Loadermanagers 的好处之一是您不需要手动管理光标的生命周期。因此,我使用 loadermanager 将适配器绑定到使用支持包的 AutoCompleteTextView。

它工作得很好,只是它随机抛出一个错误说“IllegalStateException - 尝试重新打开一个已经关闭的对象”。如果我们使用加载器管理器,这肯定不应该发生吗?

这是代码:

这是错误堆栈:

关于什么可能是错误的任何想法?

0 投票
1 回答
1396 浏览

android - 如何在 ListView 中显示光标数据(使用加载器)之前对其进行操作?

my 的每一项都SherlockListFragment包含 3 个TextView:一个名字和两个数字。数据来自objective我的数据库表,其结构如下:

此外,我已经读过应该通过使用加载器来从游标填充列表(特别是在使用数据库时,因为它可能是一个非常慢的操作)。我在 stackoverflow 上SimpleCursorLoader找到了一个类,但它直接将数据映射到一个字段。

这不是我真正想要的,因为如您所见,在我的objective桌子上我有一个activity_code. 所以我想用一个字符串替换它(我有一个枚举,它列出了我所有的活动代码,并为每个活动代码返回一个字符串资源标识符)。

你知道我如何在数据显示在TextViews 之前对其进行操作吗?

这是我的SherlockListFragment

编辑:我不需要在 SimpleCursorLoader > loadInBackground 中关闭游标和数据库,对吗?否则无法读取数据。那么关闭操作是自动处理的还是我需要在其他地方自己做呢?

0 投票
2 回答
2260 浏览

android - 使用 SimpleCursorAdapter 在 onLoaderFinished 中出现 NullPointerException

我已经从ResourceCursorAdapter我使用的地方newView切换bindViewSimpleCursorAdapter我只使用该getView方法的地方。

现在我在onLoaderFinished. 尽管它在我的适配器和游标对象NullPointerException上都给了我NOT null。我将在下面发布我的所有代码。非常感谢任何帮助(没有多少头发可以拔出)。adapter.swapCursor(cursor)

0 投票
1 回答
1756 浏览

android - 使用 CursorLoader 处理 ListView 中的不同查询

我想在单个 ListView 的不同时间反映来自 sqlite 数据库中各种表的数据。

初始查询工作正常,如下所示:

  • 我有一个自定义 CursorAdapter 类 ( AutoCursorAdapter extends CursorAdapter),它可以显示来自游标的任意数据:
    • AutoCursorAdapter.newView()询问游标并构造对应于列中数据类型的视图。
    • AutoCursorAdapter.bindView() 从游标中获取数据并填充在 newView 中为游标中的每一行数据创建的视图。
  • 我还在拥有的 Fragment 中实现了一个加载器,如下所示:

    /li>

到现在为止还挺好。数据在初始运行时加载。假设它使用 URI_A 从表 A 中提取和显示数据。

但现在的问题是:如何处理我想切换到使用 URI_B 显示表 B 中的数据以响应用户操作的情况?

  • 我可以使用单个 Loader 实例执行此操作吗?

    1. 如果有怎么办?例如CursorLoader.setUri()不会触发重新加载。
    2. 如果没有,我该如何正确管理多个加载器实例?
  • 这是装载机可能不是可行的方法吗?

注意:问题在于表 A 中底层数据库的反映变化。这已经通过 NotifyChange 机制在 UI 中正确更新。这个问题是关于完全改变底层查询的性质。

0 投票
1 回答
418 浏览

android - 查询特定 ID 的 ContentProvider

我有一个联系人表,我只需要获取某些 ID。

想象一下,我有 10 个 id 从 1 到 10 的联系人,我想得到一个Cursor联系人 1 和 2 的联系人。

一个工作代码是:

我的问题是我无法使用该selectionArgs参数,因为转义会破坏查询。

你能想出一种使用selectionArgs参数并使其工作的方法吗?

0 投票
1 回答
2568 浏览

spinner - 如何从 cursorloader 填充微调器?

我花了几天的时间来解决这个问题,但没有运气。希望我能从这里得到答案。我尝试使用 cursorLoader 方法将数据从我的内容提供程序加载到微调器中。微调器似乎已收到数据,但我在下拉列表中没有发现任何数据,尽管已创建了几个下拉项目(没有文本)。

我相信问题不在于我的提供者,因为如果我使用相同的游标来检索数据并将其放入数组中,然后将数组绑定到微调器,那么它会正确显示所有项目。

下面是我的代码,

我的布局xml:

从我的 ShopperProvider 类中提取,