Inicialización de un cargador en una actividad

Actualmente estoy tratando de aprender cómo usar los cargadores y tengo problemas para iniciar un cargador en mi actividad.

import android.support.v4.app.LoaderManager; import android.support.v4.content.Loader; public class ASwitchActivity extends Activity implements LoaderManager.LoaderCallbacks<SampleLoader.SampleLoaderResult> { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); getLoaderManager().initLoader(0, null, this); } public Loader<SampleLoader.SampleLoaderResult> onCreateLoader(int id, Bundle args) { return new SampleLoader(getBaseContext(), account, "dog"); } public void onLoadFinished(Loader<SampleLoader.SampleLoaderResult> loader, SampleLoader.SampleLoaderResult out) { TextView t=(TextView)findViewById(R.id.testTV); t.setText("yay"); } public void onLoaderReset(Loader<SampleLoader.SampleLoaderResult> loader){ } } 

Sin embargo Eclipse da un error declarando:

El método initLoader (int, Bundle, LoaderManager.LoaderCallbacks) en el tipo LoaderManager no es aplicable para los argumentos (int, null, ActivitySwitchActivity)

¿Alguien puede ayudar con dónde me equivoco?

Como puedo ver que utiliza la biblioteca supportV4. Así que para implementar Loader debes hacer algunas cosas:

  1. Extienda su actividad de la clase FragmentActivity
  2. Use el método getSupportLoaderManager en lugar de getLoaderManager

Aquí está el código de la muestra:

 import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.support.v4.app.LoaderManager; import android.support.v4.content.Loader; import android.widget.Toast; public class MyActivity extends FragmentActivity implements LoaderManager.LoaderCallbacks<Object> { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); getSupportLoaderManager().initLoader(0, null, this); } @Override public Loader<Object> onCreateLoader(int i, Bundle bundle){ return null; // TODO } @Override public void onLoadFinished(Loader loader, Object o) { Toast.makeText(this, "onLoadFinished", Toast.LENGTH_SHORT).show(); } @Override public void onLoaderReset(Loader loader) { Toast.makeText(this, "onLoaderReset", Toast.LENGTH_SHORT).show(); } } 

Cuando utilice cargadores con fragments utilice:

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

Y al usar cargadores con uso de la Activity :

 getSupportLoaderManager().initLoader(0,null,this); 

El tercer parámetro para getLoaderManager().initLoader(0, null, this); Debe ser una instancia que implementa la interfaz LoaderManager.LoaderCallbacks Así que debe implementar la interfaz primero.

Para AppCompatActivity use getSupportLoaderManager().initLoader(0,null,this); Para inicializar el cargador.

  • Android getContentResolver (). NotifyChange () no reinicia mi cargador
  • ¿Qué hace LoaderManager?
  • Múltiples cargadores con LoaderManager, no consiguiendo derecho Cargador
  • Android Loader no activa las devoluciones de llamada en la pantalla
  • Actualización asíncrona de vista fragmentada: ImageView no se actualiza, pero otros niños se actualizan en la vista
  • Paquete de Compatibilidad con Android y getLoaderManager ()
  • Android Loaders lifecycle, o: onStopLoading () siempre se llama antes de onReset ()?
  • LoaderManager: cómo agarrar a mi variable / método de mis cargadores?
  • IllegalStateException - Apoyo LoaderManager con AutocompleteTextView
  • Manejar excepciones de CursorLoader
  • Datos fuera de sincronización entre un CursorLoader personalizado y un CursorAdapter respaldando un ListView
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.