Android Studio:为什么我的列表视图不能正确填充数据库排序?

时间:2018-01-04 12:42:48

标签: android database sorting listview android-contentprovider

新年快乐,

我有一个在运行应用程序时在本地创建的数据库。它有各种各样的领域,但我似乎无法让我的数据库正确排序。

我有一个内容提供商,查询功能如下:

@Nullable
@Override
public Cursor query(Uri uri, String[] strings, String s, String[] strings1, String s1) {
    Cursor c;
    switch (uriMatcher.match(uri)) {
        case PICTURES:
            //c = db.query(DBOpenHelper.TABLE_NAME, DBOpenHelper.ALL_COLUMNS, s, null, null, null, DBOpenHelper.PIC_ARTIST + " ASC");
            c = db.query(DBOpenHelper.TABLE_NAME, DBOpenHelper.ALL_COLUMNS, s, null, null, null, null);
            break;
        default:
            throw new IllegalArgumentException("Unknown URI " + uri);
    }
    c.setNotificationUri(getContext().getContentResolver(), uri);

    return c;
}

我有一个活动,其中包含一个由数据库项填充的listView。当我单击一个按钮时,它应按字母顺序升序中的一个字段排序,但没有任何反应

private CursorAdapter sortTitle() {
    if(c != null) {
        c.close();
        c = getContentResolver().query(PicturesProvider.CONTENT_URI,null,null,null,DBOpenHelper.PIC_TITLE + " ASC");
    } else {
        c = getContentResolver().query(PicturesProvider.CONTENT_URI,null,null,null,DBOpenHelper.PIC_TITLE + " ASC");
    }
    cursorAdapter.swapCursor(c);
    cursorAdapter.notifyDataSetChanged();
    return cursorAdapter;
}

我做错了什么在这里很明显?

提前致谢。

我已将粘贴的代码保存到最低限度,所以如果遗漏任何内容,请告诉我。

0 个答案:

没有答案