1

Ich bin wirklich neu in der Android-Entwicklung und habe versucht, eine Bildergalerie App zu erstellen. Alles funktioniert gut, außer wenn ich wische, um das nächste oder vorherige Bild anzuzeigen, wird nichts angezeigt. Wie behebe ich das?Das nächste Bild wird nicht in 'ImageSwitcher' angezeigt.

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); 
      } 
     }); 
    } 
} 

Antwort

0

Wenn ich Ihren Code ausführen, habe ich Nullpointerexeption drin. so i verwenden

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(); 
    } 

Und nach 5 oder 6 klauen i bin in der Lage Images.As anzuzeigen gefragt Sie in Frage, die Sie nicht in der Lage sind Bilder zu sehen, so dass das Problem ist, dass das Thumbnail nicht exist.As in meinem log für jede nicht sichtbar Thumbnail ich erhalte diese Fehler

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

Hoffnung dies helfen könnte.

ps: Warten Sie, bis der Toastvorgang abgeschlossen ist, bevor Sie den nächsten Streichvorgang durchführen.

+1

Ich bin immer noch nicht in der Lage, Bilder auch nach 10 Wischen zu sehen, ich habe meinen Code entsprechend Ihrer Antwort aktualisiert, und ich habe auch keine Ausnahmen erhalten, es gibt auch andere Java-Dateien, die ich nicht in diesem enthalten habe Frage, da der Code, der für mich nicht funktionierte, in dieser Aktivität war, habe ich noch eine Java-Datei hinzugefügt und meine Frage aktualisiert. Diese Aktivität ist für die Anzeige von Miniaturansichten verantwortlich. –

+0

Haben Sie diese Berechtigung in Ihre Manifestdatei aufgenommen. –

+1

.... ich habe das und alle aufgenommen Diese Berechtigungen zu –

Verwandte Themen