title: Is there a way to sort images by date in gallery android
body: <p>I have a working custom camera and gallery view in my android app.  My camera saves pictures with a timestamp essentially as their name in a specific folder which i have successfully got showing in my gallery.  It seems that it sorts these images by default from oldest to newest or alphabetically, not sure.. but i would like them to display in the opposite order.. can someone point me in the right direction?  is it possible?  do i change my BaseAdapter or my oncreate of my gallery activity...</p>
  
  <p>my gallery activity:</p>
  
  <pre><code>public class GalleryView extends Activity{
  
      ImageView imageView;
      Cursor cursor;
      private int columnIndex;
      /** Called when the activity is first created. */
      @Override
      public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.gallery);
          Gallery ga = (Gallery)findViewById(R.id.Gallery01);
          // Set up an array of the Thumbnail Image ID column we want
          String[] projection = {MediaStore.Images.Media._ID};
          // Create the cursor pointing to the SDCard
          cursor = managedQuery( MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
                  projection, // Which columns to return
                  MediaStore.Images.Media.DATA + " like ? ",
                  new String[] {"%LC/images%"},  
                  null);
          // Get the column index of the Thumbnails Image ID
          columnIndex = cursor.getColumnIndexOrThrow(MediaStore.Images.Media._ID);
  
          ga.setAdapter(new GallImageAdapter(this,cursor,columnIndex));
  
  
  
      }
  
  
  
  }
  </code></pre>
  
  <p>my custom adapter:</p>
  
  <pre><code>public class GallImageAdapter extends BaseAdapter {
      public Cursor cursor;
      private int columnIndex;
      private Context context;
      int imageBackground;
  
      public GallImageAdapter(Context ctx, Cursor cur, int cIn) {
          context = ctx;
          columnIndex = cIn;
          cursor = cur;
      }
  
      @Override
      public int getCount() {
  
          return cursor.getCount();
      }
  
      @Override
      public Object getItem(int position) {
  
          return position;
      }
  
      @Override
      public long getItemId(int position) {
  
          return position;
      }
  
      @Override
      public View getView(int position, View convertView, ViewGroup parent) {
          View v;
          if(convertView ==null){
              v = LayoutInflater.from(context).inflate(R.layout.galitem, parent, false);
          }else{
              v = convertView;
          }
          ImageView photo = (ImageView) v.findViewById(R.id.imageView);
          ImageView border = (ImageView) v.findViewById(R.id.borderView);
          ImageView d = (ImageView) v.findViewById(R.id.delView);
  
          // Move cursor to current position
          cursor.moveToPosition(position);
          // Get the current value for the requested column
          int imageID = cursor.getInt(columnIndex);
          // obtain the image URI
          Uri uri = Uri.withAppendedPath( MediaStore.Images.Media.EXTERNAL_CONTENT_URI, Integer.toString(imageID) );
          String url = uri.toString();
          // Set the content of the image based on the image URI
          int originalImageId = Integer.parseInt(url.substring(url.lastIndexOf("/") + 1, url.length()));
          Bitmap b = MediaStore.Images.Thumbnails.getThumbnail(context.getContentResolver(),
                          originalImageId, MediaStore.Images.Thumbnails.MINI_KIND, null);
          photo.setImageBitmap(b);
  
          photo.setScaleType(ImageView.ScaleType.FIT_CENTER); 
  
          return v;
      }
  
  }
  </code></pre>