Wypełnij widżety kursorem w onLoadFinished ()

Chcę wiedzieć, jak korzystać zCursorLoader wypełnić widżety na ekranie. Wszystkie przykłady online służą tylko do używania adaptera i to działa świetnie. To, czego potrzebuję, to niezawodny sposób na aktualizację widoków na moim ekranie z kursora i wątku interfejsu użytkownika, a czasem nawet z powodu awariiStaleDataException lub kursor zostanie nagle wyłączony. Oto moje obecne podejście, ale nadal otrzymuję raporty o awariach od użytkowników.

<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>

Jednym z rozwiązań byłoby pobranie wszystkich pól kursora bezpośrednio wewnątrz onLoadFinished i przekazanie ich wszystkim do obsługi, aby wypełnić widżety w wątku interfejsu użytkownika. Ale to jest brzydkie, ponieważ mogę mieć wiele wartości w kursorze. Bardzo chciałbym znaleźć niezawodny, bezawaryjny sposób radzenia sobie z tym wszystkim.

questionAnswers(1)

yourAnswerToTheQuestion