Заполните виджеты из курсора в onLoadFinished ()

Я хочу знать, как использоватьCursorLoader заполнить виджеты на экране. Все примеры в сети только для использования адаптера, и это прекрасно работает. Что мне нужно, так это надежный способ обновления представлений на моем экране из курсора и потока пользовательского интерфейса, без периодического сбоя из-заStaleDataException или курсор был деактивирован внезапно. Вот мой текущий подход, но я все еще получаю некоторые отчеты о сбоях от пользователей.

<code>@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) {
    }
</code>

Одним из решений было бы получить все поля курсора непосредственно внутри onLoadFinished и передать их все обработчику для заполнения виджетов в потоке пользовательского интерфейса. Но это ужасно, потому что у меня может быть много значений в курсоре. Я хотел бы найти надежный безотказный способ справиться со всем этим.

Ответы на вопрос(1)

Ваш ответ на вопрос