gpt4 book ai didi

android - Android 中带有游标的表联合

转载 作者:行者123 更新时间:2023-11-29 02:15:55 25 4
gpt4 key购买 nike

我正在尝试联合两个具有相同字段的表来创建一个游标(通过内容提供程序),我正在使用它来创建我的 ListView。

@Override
public Cursor query(Uri uri, String[] projection, String selection,
String[] selectionArgs, String sortOrder) {

SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
String groupBy = null;

switch (sUriMatcher.match(uri)) {

case LIST:
StringBuilder sb = new StringBuilder();

for (String s : projection)
sb.append(s).append(",");

String projectionStr = sb.toString();
projectionStr = projectionStr.substring(0,
projectionStr.length() - 1);

String[] subQueries = new String[] {
"SELECT " + projectionStr + " FROM " + Customer.TABLE_NAME,
"SELECT " + projectionStr + " FROM "
+ IndividualCustomer.TABLE_NAME };
String sql = qb.buildUnionQuery(subQueries, sortOrder, null);
SQLiteDatabase db = mDatabaseHelper.getReadableDatabase();
Cursor mCursor = db.rawQuery(sql, null);

mCursor.setNotificationUri(getContext().getContentResolver(), uri);

return mCursor;

即使这两个表都是空的,我也会得到两个空行,这会在我的 ListView 中创建两行。我该如何摆脱这个问题?

此外,当我从 ListView 中删除一行时,尽管有 setNotificationUri(),但光标没有更新

任何指针,将不胜感激

最佳答案

已解决 - 我必须提供一个 group by 子句,因为(投影的)列之一具有“TOTAL(...)”函数。

关于android - Android 中带有游标的表联合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3949042/

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