gpt4 book ai didi

android - 如何合并 CursorLoader

转载 作者:行者123 更新时间:2023-11-29 01:56:23 26 4
gpt4 key购买 nike

在以下情况下如何合并游标加载器以获得一个游标加载器。我不止一个地调用内容提供者来创建我的数据库适配器以与简单的游标适配器一起使用。请看下面我的代码。

@Override
public Loader<Cursor> onCreateLoader(int arg0, Bundle arg1) {

productIdCursor.moveToFirst();
CursorLoader cursorLoader;

// CursorLoader cursorLoader;

int i = 0;

while (productIdCursor.isLast()) {

String[] Projection = { "p.id as _id", "p.name", "p.subTitle",
"p.textColour", "pi.thumb" };

String userSelectionCritera = "p.id = pp.prod_id and pp.imag_id = pi.id and p.id= ? and p.id = pc. prod_id and pc.coun_id = ?";

String[] selecttionArgs = new String[] {
productIdCursor.getString(productIdCursor
.getColumnIndex("prod_id")),
String.valueOf(countryId) };

cursorLoader = new CursorLoader(getActivity(),
DatabaseContentProvider.CONTENT_URI_PRODUCTCATEGORY,
Projection, userSelectionCritera, selecttionArgs, null);

productIdCursor.moveToNext();

}




return cursorLoader;

最佳答案

你不能真正合并游标加载器,但你可以尝试一些不同的东西。您最好的选择可能是将 SQL 选择语句从 p.id = ? 更改为 p.id in (...id list here...)。您可以通过查看 at this answer 为 id 列表创建一个字符串.

您还可以创建自己的自定义加载器,它接受产品 ID 数组并在后台单独加载它们,然后将它们合并到 MergeCursor 对象中。这将为您提供一个加载程序和一个包含您需要的所有数据的游标。 IMO 这第二种方法真的很困惑。如果这是唯一可行的解​​决方案,那么您可能应该返回并检查您的数据库表架构。

关于android - 如何合并 CursorLoader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14913036/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com