我想知道如何使用CursorLoader
来填充屏幕上的小窗口。 所有在线的例子是仅适用于使用适配器来完成这项工程。 我需要的是更新从游标并在UI线程,并没有崩溃,有时因为在我的屏幕意见的可靠方法StaleDataException
或光标被停用突然。 这是我目前的做法,但我仍然收到来自用户的一些崩溃报告。
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle arg1) {
CursorLoader loader = null;
switch (id) {
case LOADER_ID_DATA:
loader = new CursorLoader(...);
break;
}
return loader;
}
@Override
public void onLoadFinished(Loader<Cursor> loader, final Cursor cursor) {
handler.post(new Runnable() {
@Override
public void run() {
if (getActivity() == null)
return;
updateView(cursor);
}
});
}
@Override
public void onLoaderReset(Loader<Cursor> arg0) {
}
一个解决办法是,直接检索所有光标领域内onLoadFinished和他们都传递到处理程序来填充UI线程上的小窗口。 但是,这是丑陋的,因为我可以在光标很多价值观。 我很想找到应对这一切的可靠的无碰撞的方式。