problema nel visualizzatore di apertura foto per la visualizzazione di tutte le immagini memorizzate in una particolare cartella in Android

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

  •  24-10-2019
  •  | 
  •  

Domanda

Ho un'attività (MyActivity), in cui ho una vista griglia. Anche io ho la "foto esistente add dalla galleria" pulsante. Quando si clicca su questo pulsante si aprirà l'applicazione galleria spettatore e dopo aver selezionato una foto in galleria si aggiornerà il GridView in MyActivity. Anche io sto l'archiviazione delle foto selezionate nella cartella myimage nella sdcard.

Voglio che se io selezionare una cella particolare in vista della griglia si aprirà la PhotoViewer per visualizzare tutte le immagini presenti nella cartella (myimage).

Il codice è il seguente

public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
        try {

        Intent intent = new Intent(Intent.ACTION_VIEW);

        intent.setDataAndType(Uri.parse("file:///sdcard/myimage/*"), 
        "image/*"); 

        startActivity(intent); 

}

Questo codice, facendo clic su cella particolare della vista griglia, si apre il PhotoViewer, ma non mostrare alcuna foto in quella cartella.

Ma se io uso questo codice

public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
        try {

        Intent intent = new Intent(Intent.ACTION_VIEW);

        intent.setDataAndType(Uri.parse("file:///sdcard/myimage/a.jpg"), 
        "image/*"); 

        startActivity(intent); 

}

sta mostrando solo la foto a.jpg, non tutte le immagini contenute nella cartella myimage. Inoltre non mostra la freccia accanto e precedente nella PhotoViewer.

Voglio visualizzare tutte le immagini presenti in una particolare cartella nella scheda SD con la freccia successivo e precedente in modo, che siamo in grado di attraversare attraverso tutte le immagini.

Se questo non è possibile in questo modo, mi suggeriscono altro approccio (Si prega di allegare il codice anche).

È stato utile?

Soluzione

Utilizza la seguente logica per ottenere il percorso di tutte le immagini presenti nella galleria. Crea il tuo PhotoGrid per visualizzare tutte le immagini. scrivere attività a sé stante in cui si ha una vista immagine per mostrare i tasti successive o precedenti di immagine e. se si fa clic pulsante accanto aumentare l'immagine Insieme contatore che è presente in quella posizione in ArrayList.

ArrayList<String> listOfAllImages = new ArrayList<String>();
String absolutePathOfImage = null;
uri = android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI;

            String[] projection = { MediaColumns.DATA,
                    MediaColumns.DISPLAY_NAME };

            cursor = activity.managedQuery(uri, projection, null, null, null);
            column_index = cursor.getColumnIndexOrThrow(MediaColumns.DATA);
while (cursor.moveToNext()) {
absolutePathOfImage = cursor.getString(column_index);
listOfAllImages.add(absolutePathOfImage);
}

Grazie Deepak

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top