尝试实现LoaderManager + CursorLoader。
在onFinish方法中,适配器应交换其光标
public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
// Swap the new cursor in. (The framework will take care of closing the
// old cursor once we return.)
mAdapter.swapCursor(data);
}
但是自API级别11以来,swapCursor可用。
那么我应该如何在android API 10中交换光标?
答案 0 :(得分:9)
答案 1 :(得分:0)
如果你按照Android Studio建议来包装和swapCursor解释旧光标没有关闭,使用android.widget.CursorAdapter,你会得到:
public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
mAdapter.swapCursor(data);
} else {
Cursor oldCursor = mAdapter.getCursor();
mAdapter.changeCursor(data);
oldCursor.close();
}
}