@Override
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
      Bundle extras = data.getExtras();
      Bitmap imageBitmap = (Bitmap) extras.get("data");
      mImageView = (ImageView) findViewById(R.id.imgView);

      // Saving in Parse server
      ByteArrayOutputStream stream = new ByteArrayOutputStream();
      imageBitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
      byte[] dataTostore = stream.toByteArray();

      final ParseFile imgFile = new ParseFile("img.png", dataTostore);
      imgFile.saveInBackground();

      GalleryObj tempPicObj = new GalleryObj();
      ParseObject obj = new ParseObject("Gallery");

      obj.put("pic", imgFile);
      obj.put("Apartment", ParseUser.getCurrentUser().getString("Apartment"));
      try {
        obj.save();
        tempPicObj.id = obj.getObjectId();
        tempPicObj.pic = imageBitmap;
        STgallery.getInstance().add(tempPicObj);
      } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }
      adapter.notifyDataSetChanged();
    }
  }
  public void deleteCheckedItems() {
    int sizeAdapter = adapter.getCount();
    for (int i = sizeAdapter - 1; i >= 0; i--) {

      View view = gv.getChildAt(i);

      CheckBox cv = (CheckBox) view.findViewById(R.id.gallery_checkBox_item);
      if (cv.isChecked()) {
        ParseQuery<ParseObject> query = ParseQuery.getQuery("Gallery");
        query.getInBackground(
            STgallery.getInstance().get(i).id,
            new GetCallback<ParseObject>() {
              public void done(ParseObject galleryPic, ParseException e) {
                if (e == null) {
                  // delete from server
                  try {
                    galleryPic.delete();
                  } catch (ParseException e1) {
                    e1.printStackTrace();
                  }
                  galleryPic.saveInBackground();
                } else {
                  Toast.makeText(
                          GalleryActivity.this,
                          getResources().getString(R.string.please_check_internet_connection),
                          Toast.LENGTH_LONG)
                      .show();
                  e.printStackTrace();
                }
              }
            });
        STgallery.getInstance().remove(i);
      }
      adapter.notifyDataSetChanged();
    }
    Toast.makeText(getApplicationContext(), "Selected Items Cleared", Toast.LENGTH_SHORT).show();
  }
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_gallery);

    ActionBar actionBar = getActionBar();
    actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);

    actionBar.setCustomView(R.layout.action_gallery);

    gallaryArr = STgallery.getInstance();
    gallaryArr.clear();

    fillData();

    final ImageButton homeButton = (ImageButton) findViewById(R.id.home_btn_gallery);

    homeButton.setOnClickListener(
        new View.OnClickListener() {
          @Override
          public void onClick(View v) {
            // Switching to home screen
            Intent intent = new Intent(GalleryActivity.this, HomeActivity.class);
            startActivity(intent);
          }
        });
    final ImageButton editButtonCustom = (ImageButton) findViewById(R.id.gallery_editBtn);
    editButtonCustom.setOnClickListener(
        new View.OnClickListener() {

          public void onClick(View v) {
            editButtonCustom.setVisibility(View.INVISIBLE); // set invisible
            editButtonCustom.setClickable(false);
            editButtonCustom.setFocusable(false);

            for (int i = 0; i < adapter.getCount(); i++) {
              ((CheckBox) gv.getChildAt(i).findViewById(R.id.gallery_checkBox_item))
                  .setVisibility(0); // show all checkbox
            }

            final ImageButton deleteButtonCustom =
                (ImageButton) findViewById(R.id.gallery_deleteBtn);
            deleteButtonCustom.setVisibility(0); // set visible
            deleteButtonCustom.setClickable(true);
            deleteButtonCustom.setFocusable(true);

            deleteButtonCustom.setOnClickListener(
                new View.OnClickListener() {

                  public void onClick(View v) {
                    deleteCheckedItems();
                    for (int i = 0; i < adapter.getCount(); i++) {
                      ((CheckBox) gv.getChildAt(i).findViewById(R.id.gallery_checkBox_item))
                          .setVisibility(4); // hide all check boxes
                    }
                    deleteButtonCustom.setVisibility(4); // set invisible again
                    deleteButtonCustom.setClickable(false);
                    deleteButtonCustom.setFocusable(false);
                    editButtonCustom.setVisibility(0); // set visible again
                    editButtonCustom.setClickable(true);
                    editButtonCustom.setFocusable(true);
                  }
                });
          }
        });
    final ImageButton takeApic = (ImageButton) findViewById(R.id.gallery_camBtn);

    takeApic.setOnClickListener(
        new View.OnClickListener() {
          @Override
          public void onClick(View v) {
            // Switching to home screen
            dispatchTakePictureIntent();
          }
        });

    gv = (GridView) findViewById(R.id.gallery_gridView);
    gv.setOnItemClickListener(
        new OnItemClickListener() {
          @Override
          public void onItemClick(AdapterView<?> arg0, View view, int position, long id) {
            openPicDialog(position);
          }
        });

    adapter = new CustomAdapter(this, R.layout.gallery_item, gallaryArr);
    gv.setAdapter(adapter);
  }