Photos missing in Gallery on Android -


i'm writing little test application show gallery of images on android (from sd card), works quite except part see photos. if can spot source of trouble....

much of code has been copied , pasted various examples i've found.

android screenshot http://openhomesnz.com/alister/permalink/androidpictures.jpg

notice lack of images in gallery.

i'm guessing i'm doing wrong in getview

    public view getview(int position, view convertview, viewgroup parent) {      imageview imgview;      if (convertview == null)       imgview = new imageview(cont);      else       imgview = (imageview)convertview;          string filename = photos[position].getname();         log.i(tag, "loading file " + filename);         bitmap bmap = bitmapfactory.decodefile(filename);         imgview.setimagebitmap(bmap);          imgview.setlayoutparams(new gallery.layoutparams(120, 90));         imgview.setscaletype(imageview.scaletype.fit_xy);         imgview.setbackgroundresource(galitembg);          return imgview;     } 

the whole activity follows - in case problem elsewhere

 package nz.co.salespartner.gallerytest;   import java.io.file;  import java.io.filenamefilter;   import android.app.activity;  import android.content.context;  import android.content.res.typedarray;  import android.graphics.bitmap;  import android.graphics.bitmapfactory;  import android.os.bundle;  import android.util.log;  import android.view.view;  import android.view.viewgroup;  import android.widget.baseadapter;  import android.widget.gallery;  import android.widget.imageview;  import android.widget.textview;   public class gallerytestactivity extends activity {   file photos[];   private static string tag = "gallerytest";      @override      public void oncreate(bundle savedinstancestate) {          super.oncreate(savedinstancestate);          setcontentview(r.layout.main);          file f = new file("/sdcard/pics1");          photos = f.listfiles(new filenamefilter() {       @override     public boolean accept(file dir, string filename) {      return filename.endswith("jpg");     }    });          string filelist = "";                (file afile : photos) {           filelist += afile.getname() + "\n";          }          textview v = (textview)findviewbyid(r.id.filelist);          v.settext(filelist);           gallery gallery = (gallery)findviewbyid(r.id.gallery);          gallery.setadapter(new addimgadp(this));      }       public class addimgadp extends baseadapter {          int galitembg;          private context cont;           public addimgadp(context c) {              cont = c;              typedarray typarray = obtainstyledattributes(r.styleable.gallerytheme);              galitembg = typarray.getresourceid(r.styleable.gallerytheme_android_galleryitembackground, 0);              typarray.recycle();          }           public int getcount() {              return photos.length;          }           public object getitem(int position) {              return position;          }           public long getitemid(int position) {              return position;          }           public view getview(int position, view convertview, viewgroup parent) {           imageview imgview;           if (convertview == null)            imgview = new imageview(cont);           else            imgview = (imageview)convertview;               string filename = photos[position].getname();              log.i(tag, "loading file " + filename);              bitmap bmap = bitmapfactory.decodefile(filename);              imgview.setimagebitmap(bmap);               imgview.setlayoutparams(new gallery.layoutparams(120, 90));              imgview.setscaletype(imageview.scaletype.fit_xy);              imgview.setbackgroundresource(galitembg);               return imgview;          }      }  } 

okay solution obvious - , if more familiar java have spotted immediately.

instead of

string filename = photos[position].getname(); 

i should have had

string filename = photos[position].getabsolutepath(); 

Comments

Popular posts from this blog

Add email recipient to all new Trac tickets -

400 Bad Request on Apache/PHP AddHandler wrapper -

php - Change action and image src url's with jQuery -