Mostrando un fragmento de vista de cuadrícula junto al fragmento de vista de mapa, cargando imágenes desde la tarjeta SD

StackOverflow https://stackoverflow.com/questions/8919053

Pregunta

Actualmente estoy trabajando en una aplicación para Android.Deseo tener un GridView en el lado izquierdo de la pantalla y un MapView en el lado derecho de la pantalla (suponiendo que el diseño sea horizontal).GridView contendrá las fotos actualmente en la tarjeta SD y, cuando se seleccione, se extraerán las etiquetas exif y, si hay información de GPS, se orientarán en la Vista de mapa.

Actualmente estoy usando el de Inazaruk. Ejemplo de fragmento de mapa para mostrar el fragmento del mapa.

Estoy ampliando Fragment e implementando LoaderManager.Callbacks dentro de mi clase de fragmento de cuadrícula.Sin embargo, el método "getLoaderManager().initLoader" muestra un error que indica que la clase PhotoGridFragment no es aplicable.

El código actual para PhotoGridFragment es:

public class PhotoGridFragment extends Fragment implements LoaderManager.LoaderCallbacks<Cursor> {

// member variables for
private static final int PHOTO_LIST_LOADER = 0x01;
private SimpleCursorAdapter adapter;
private CursorLoader cursorLoader;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getLoaderManager().initLoader(PHOTO_LIST_LOADER, null, this);
    adapter = new SimpleCursorAdapter(
            getActivity().getApplicationContext(), R.layout.grid_item,
            null, new String[] { MediaStore.Images.Thumbnails.IMAGE_ID }, null,
            CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
    return inflater.inflate(R.layout.grid_item, container, false);      
}



// Loader manager methods
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
    String[] projection = { MediaStore.Images.Thumbnails._ID };
    CursorLoader cursorLoader = new CursorLoader(getActivity(),
            MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI, projection,
            null, null, null);
    return cursorLoader;
}

public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) {
    adapter.swapCursor(cursor);
}

public void onLoaderReset(Loader<Cursor> cursor) {
    adapter.swapCursor(null);
}

Claramente me estoy equivocando en alguna parte con la inicialización del Fragmento, pero no estoy del todo seguro de dónde.Puede editar para proporcionar código para el resto de la aplicación si es necesario.

Básicamente quiero saber:¿Por qué no funciona este código?¿Y mi método para recuperar imágenes de la tarjeta SD es correcto?¿O eso también está mal?

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top