如何使用带有内容提供程序和游标适配器的游标对数据进行排序?
How to sort data using Cursor with Content Provider and Cursor Adapter?
我有一个 Content Provider
和一个 Cursor Adapter
。我的 table 中的一列是 int
。我想按此列排序我的 table,因此 Adapter
将相应地显示数据。我试着这样做:
在 Activity
:
Cursor c = getContentResolver().query(
PetContract.Dogs.CONTENT_URI,
null, null, null,
PetContract.Dogs.DATE + " ASC");
testAdapter = new TestAdapter(this, c);
c.close();
list.setAdapter(testAdapter);
getLoaderManager().initLoader(1, null, this);
registerForContextMenu(list);
在Adapter
构造函数中:
public TestAdapter(Context context, Cursor c) {
super(context, c);
}
但是没用...
想通了。在我的 Activity
:
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
return new CursorLoader(this,
PetContract.Dogs.CONTENT_URI,
null,
null,
null,
PetContract.Dogs.DATE + " collate localized asc"
);
}
我有一个 Content Provider
和一个 Cursor Adapter
。我的 table 中的一列是 int
。我想按此列排序我的 table,因此 Adapter
将相应地显示数据。我试着这样做:
在 Activity
:
Cursor c = getContentResolver().query(
PetContract.Dogs.CONTENT_URI,
null, null, null,
PetContract.Dogs.DATE + " ASC");
testAdapter = new TestAdapter(this, c);
c.close();
list.setAdapter(testAdapter);
getLoaderManager().initLoader(1, null, this);
registerForContextMenu(list);
在Adapter
构造函数中:
public TestAdapter(Context context, Cursor c) {
super(context, c);
}
但是没用...
想通了。在我的 Activity
:
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
return new CursorLoader(this,
PetContract.Dogs.CONTENT_URI,
null,
null,
null,
PetContract.Dogs.DATE + " collate localized asc"
);
}