title: Get folder images in gridview
body: <p>Am getting error when getting images from sdcard folder and view in gridview.</p>
  
  <p>My class as follows:</p>
  
  <pre><code>public class Favourites extends Activity{
      String backupPath=Environment.getExternalStorageDirectory().getPath() + "/WallpaperPro";
      String name;
      GridView favgrid;
  
      Cursor cursor;
      int columnIndex; 
      String[] imagenames=new String[100];
  
      @Override 
      public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          try{
           readfile();
          }catch(Exception e)
          {
  
          }
          setContentView(R.layout.fav);
          favgrid=(GridView) findViewById(R.id.favgrid);
  
          String[] projection = {MediaStore.Images.Media._ID};
          // Create the cursor pointing to the SDCard
          cursor = managedQuery( MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
                  projection, 
                null ,
                  null,  
                  null);
          // Get the column index of the image ID
          Toast.makeText(getApplicationContext(),""+cursor.getCount() , 1).show();
          columnIndex = cursor.getColumnIndexOrThrow(MediaStore.Images.Media._ID);
          favgrid.setAdapter(new FavAdapter(this));
  
  
      }
      public void readfile()
      {
          //File sdCardRoot = Environment.getExternalStorageDirectory();
          File yourDir = new File(backupPath);
          int i=0;
          for (File f : yourDir.listFiles()) {
              if (f.isFile())
                   name = f.getName();
              imagenames[i]=backupPath+"/"+name;
              Log.i("CUTEWALLPAPER", "imagenames["+i+"]= "+name);
              i++;
  
                  // make something with the name
          }
      }
  
      public class FavAdapter extends BaseAdapter {
          private Context mContext;
            public FavAdapter(Context c) { 
                  mContext = c;
              }
          @Override
          public int getCount() {
              // TODO Auto-generated method stub
              return imagenames.length;
          }
  
          @Override
          public Object getItem(int position) {
              // TODO Auto-generated method stub
              return position;
          }
  
          @Override
          public long getItemId(int position) {
              // TODO Auto-generated method stub
              return position;
          }
  
  
          @Override
          public ImageView getView(int position, View convertView, ViewGroup parent) {
              // ImageView i = new ImageView(mContext);
               ImageView imageView;
                  imageView = new ImageView(mContext);
                  if (convertView == null) {
  
                      imageView.setLayoutParams(new GridView.LayoutParams(100, 100));
                      imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
  
                      imageView.setPadding(0, 0, 0, 0);
                } else {
                      imageView = (ImageView) convertView;
                  }
  
               Bitmap b=BitmapFactory.decodeFile(imagenames[position].toString());
               Log.i("CUTEWALLPAPER", "Position"+position+" "+b.getHeight());
               imageView.setImageBitmap(b);
  
               imageView.setScaleType(ImageView.ScaleType.FIT_CENTER); 
                  /* Set the Width/Height of the ImageView. */ 
                  imageView.setLayoutParams(new GridView.LayoutParams(300, 300));
                  return imageView;
          }
  
      }
  
  }
  </code></pre>
  
  <p>And my xml file as follows:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
      &lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
       android:layout_width="fill_parent" android:weightSum="1" android:orientation="horizontal" android:layout_height="wrap_content"&gt; 
       &lt;GridView xmlns:android="http://schemas.android.com/apk/res/android"
      android:id="@+id/favgrid"
      android:layout_width="fill_parent"
      android:columnWidth="90dp"
      android:numColumns="1"
      android:verticalSpacing="0dp"
      android:horizontalSpacing="10dp"
      android:stretchMode="columnWidth"
      android:gravity="center" android:layout_height="fill_parent"/&gt;
      &lt;/RelativeLayout&gt;
  </code></pre>
  
  <p>The logcat error shows Null Pointer Exception.</p>
  
  <pre><code>07-06 22:57:26.892: ERROR/AndroidRuntime(302): java.lang.NullPointerException
  07-06 22:57:26.892: ERROR/AndroidRuntime(302):     at com.cutewallpaper.Favourites$FavAdapter.getView(Favourites.java:112)
  07-06 22:57:26.892: ERROR/AndroidRuntime(302):     at com.cutewallpaper.Favourites$FavAdapter.getView(Favourites.java:1)
  07-06 22:57:26.892: ERROR/AndroidRuntime(302):     at android.widget.AbsListView.obtainView(AbsListView.java:1274)
  07-06 22:57:26.892: ERROR/AndroidRuntime(302):     at android.widget.GridView.makeAndAddView(GridView.java:1218)
  07-06 22:57:26.892: ERROR/AndroidRuntime(302):     at android.widget.GridView.makeRow(GridView.java:265)
  07-06 22:57:26.892: ERROR/AndroidRuntime(302):     at android.widget.GridView.fillDown(GridView.java:218)
  07-06 22:57:26.892: ERROR/AndroidRuntime(302):     at android.widget.GridView.fillFromTop(GridView.java:337)
  07-06 22:57:26.892: ERROR/AndroidRuntime(302):     at android.widget.GridView.layoutChildren(GridView.java:1112)
  07-06 22:57:26.892: ERROR/AndroidRuntime(302):     at android.widget.AbsListView.onLayout(AbsListView.java:1113)
  07-06 22:57:26.892: ERROR/AndroidRuntime(302):     at android.view.View.layout(View.java:6830)
  07-06 22:57:26.892: ERROR/AndroidRuntime(302):     at android.widget.RelativeLayout.onLayout(RelativeLayout.java:900)
  07-06 22:57:26.892: ERROR/AndroidRuntime(302):     at android.view.View.layout(View.java:6830)
  07-06 22:57:26.892: ERROR/AndroidRuntime(302):     at android.widget.FrameLayout.onLayout(FrameLayout.java:333)
  07-06 22:57:26.892: ERROR/AndroidRuntime(302):     at android.view.View.layout(View.java:6830)
  07-06 22:57:26.892: ERROR/AndroidRuntime(302):     at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1119)
  07-06 22:57:26.892: ERROR/AndroidRuntime(302):     at android.widget.LinearLayout.layoutVertical(LinearLayout.java:998)
  07-06 22:57:26.892: ERROR/AndroidRuntime(302):     at android.widget.LinearLayout.onLayout(LinearLayout.java:918)
  07-06 22:57:26.892: ERROR/AndroidRuntime(302):     at android.view.View.layout(View.java:6830)
  07-06 22:57:26.892: ERROR/AndroidRuntime(302):     at android.widget.FrameLayout.onLayout(FrameLayout.java:333)
  07-06 22:57:26.892: ERROR/AndroidRuntime(302):     at android.view.View.layout(View.java:6830)
  07-06 22:57:26.892: ERROR/AndroidRuntime(302):     at android.view.ViewRoot.performTraversals(ViewRoot.java:996)
  07-06 22:57:26.892: ERROR/AndroidRuntime(302):     at android.view.ViewRoot.handleMessage(ViewRoot.java:1633)
  07-06 22:57:26.892: ERROR/AndroidRuntime(302):     at android.os.Handler.dispatchMessage(Handler.java:99)
  07-06 22:57:26.892: ERROR/AndroidRuntime(302):     at android.os.Looper.loop(Looper.java:123)
  07-06 22:57:26.892: ERROR/AndroidRuntime(302):     at android.app.ActivityThread.main(ActivityThread.java:4363)
  07-06 22:57:26.892: ERROR/AndroidRuntime(302):     at java.lang.reflect.Method.invokeNative(Native Method)
  07-06 22:57:26.892: ERROR/AndroidRuntime(302):     at java.lang.reflect.Method.invoke(Method.java:521)
  07-06 22:57:26.892: ERROR/AndroidRuntime(302):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
  07-06 22:57:26.892: ERROR/AndroidRuntime(302):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
  07-06 22:57:26.892: ERROR/AndroidRuntime(302):     at dalvik.system.NativeStart.main(Native Method)
  </code></pre>
  
  <p>I didnt know how to solve this. Help me thanks in advance</p>