Android AsyncTaskLoader ne démarre pas loadInBackground?

Je suis en train de mettre en œuvre un chargeur exemple sur Android, mais ne pouvez pas l'obtenir pour démarrer le chargeur. Je suis en utilisant le code suivant. Elle sera sur le "Créer un Loader", mais il n'atteindra jamais le "Chargement a commencé" message de log. Suis-je en manque un à l'appel que j'ai besoin?

Activité:

    public class TestingZoneActivity extends ListActivity implements LoaderCallbacks<ArrayList<Content>>{

        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);

            getLoaderManager().initLoader(0, null, this);
        }

        @Override
        public Loader<ArrayList<Content>> onCreateLoader(int id, Bundle args) {
            Log.e("TEST", "Create Loader");
            return new ImageLoader(this);
        }

        @Override
        public void onLoadFinished(Loader<ArrayList<Content>> loader, ArrayList<Content> data) {
            setListAdapter(new ImageAdapter(this, data));
        }

        @Override
        public void onLoaderReset(Loader<ArrayList<Content>> loader) {
            setListAdapter(null);
        }
    }

Chargeur:

    public class ImageLoader extends AsyncTaskLoader<ArrayList<Content>> {

        public ImageLoader(Context context) {
            super(context);
        }

        @Override
        public ArrayList<Content> loadInBackground() {
            Log.e("TEST", "Loading started");
        }

    }
  • êtes-vous à l'aide de la bibliothèque de compatibilité?Si oui, jetez un oeil à cette question
  • Non, je suis ciblage 3.0
  • Bien que le thread a résolu mon problème. Poster une réponse et je vais accepter.
  • La meilleure façon pour vous de comprendre qui est la vérification de la CursorLoader du code source. En fait, vous devez prendre soin de quand loadInBackground() doit être appelé, ainsi que de la façon dont votre code n'est pas appelée. Juste remplacer loadInBackground() n'est pas suffisant, et vous pouvez le vérifier dans la documentation. Par exemple, à l'intérieur de votre application, vous avez à décider par les conditions lors de la forceLoad() doit être exécutée.
InformationsquelleAutor Bobbake4 | 2012-05-09