1

Je suis vraiment nouveau dans le développement Android et j'ai essayé de créer une application Galerie d'images. Tout fonctionne correctement, sauf lorsque je glisse pour afficher l'image suivante ou précédente, rien n'est affiché. Comment puis-je réparer ça?L'image suivante n'est pas affichée sur l'image dans 'ImageSwitcher'

public class PhotosActivity extends AppCompatActivity { 
    int int_position; 
    private GridView gridView; 
    GridViewAdapter adapter; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_image_gallery); 
     gridView = (GridView)findViewById(R.id.gv_folder); 
     int_position = getIntent().getIntExtra("value", 0); 
     adapter = new GridViewAdapter(this, al_images,int_position); 
     gridView.setAdapter(adapter); 

     gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
       String abc = "file://" + al_images.get(int_position).getAl_imagepath().get(position); 

       Intent i = new Intent(getApplicationContext(), FullImageActivity.class); 
       i.putExtra("id", position); 
       i.putExtra("abc",abc); 
       startActivity(i); 
      } 
     }); 
    } 
} 

Répondre

0

Lorsque j'exécute votre code, j'obtiens Nullpointerexeption. donc je l'ai utilisé

try { 
     Intent i = getIntent(); 

     // Selected image id 
     position = i.getExtras().getInt("id"); 
     Bundle extras = getIntent().getExtras(); 
     String value = extras.getString("abc"); 

     Glide.with(FullImageActivity.this) 
       .load(value) 
       .listener(new RequestListener<String, GlideDrawable>() { 
        @Override 
        public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) { 
         return false; // important to return false so the error placeholder can be placed 
        } 

        @Override 
        public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) { 
         return false; 
        } 
       }) 

       .into(images); 
    } catch (NullPointerException n) { 
     n.printStackTrace(); 
    } 

Et après 5 ou 6 grands coups je suis en mesure de voir Images.As vous demande en question que vous n'êtes pas en mesure d'afficher des images, de sorte que le problème est que la vignette DonT exist.As dans mon log pour chaque vignette non visible je reçois cette erreur

I/System.out: resolveUri failed on bad bitmap uri: content://media/external/images/thumbnails/11

espoir que cela pourrait aider. Ps: attendre que le toast se termine avant le prochain balayage pour le nettoyage.

+1

Je n'arrive toujours pas à voir les images même après 10 balayages, j'ai mis à jour mon code en fonction de votre réponse, et je n'avais pas d'exceptions auparavant, il y a d'autres fichiers java que je n'ai pas inclus question que le code qui ne fonctionnait pas pour moi était dans cette activité, encore j'ai inclus un fichier java plus maintenant et mis à jour ma question. Cette activité est responsable de l'affichage des vignettes. –

+0

Avez-vous inclus cette autorisation dans votre fichier manifeste. –

+1

.... Je l'ai inclus et tout ces autorisations aussi bien –