我正在使用 SQLite 数据库并希望在不使用ContentProvider
.
我无法让我的子类 SimpleCursorLoader(取自没有 ContentProvider 的 CursorLoader 使用)与LoaderManager
.
在覆盖方法中
@Override
public Loader<Cursor> onCreateLoader(int ID, Bundle args) {
return new ListCursorLoader(this, dBHelper);
}
我得到一个类型不匹配,说它不能从ListCursorLoader
to转换Loader<Cursor>
。我尝试过动态创建ListCursorLoader
(即在方法中),但这也不起作用。
这是我的代码ListCursorLoader
:
package utilities;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
public class ListCursorLoader extends SimpleCursorLoader {
private DBAdapter dBAdapter;
public ListCursorLoader(Context context, DBAdapter adapter) {
super(context);
dBAdapter = adapter;
}
@Override
public Cursor loadInBackground() {
Cursor cursor = null;
dBAdapter.open();
try {
cursor = dBAdapter.getAllQueries();
} catch (SQLException e) {
e.printStackTrace();
}
if (cursor != null) {
cursor.getCount();
}
return cursor;
}
}
如您所见,我只覆盖了该loadInBackground()
方法,我根本看不到我做错了什么。
希望大家能帮忙!