protected void setupOptionsListeners(final ViewSwitcher vs, final int position) {
    final POIObject poi = ((PoiPlaceholder) vs.getTag()).poi;

    ImageButton b = (ImageButton) vs.findViewById(R.id.poi_delete_btn);
    // CAN DELETE ONLY OWN OBJECTS
    if (DTHelper.isOwnedObject(poi)) {
      b.setVisibility(View.VISIBLE);
      b.setOnClickListener(
          new OnClickListener() {
            @Override
            public void onClick(View v) {
              {
                new SCAsyncTask<POIObject, Void, Boolean>(
                        getActivity(), new POIDeleteProcessor(getActivity()))
                    .execute(poi);
              }
            }
          });
    } else {
      b.setVisibility(View.GONE);
    }

    b = (ImageButton) vs.findViewById(R.id.poi_edit_btn);
    b.setOnClickListener(
        new OnClickListener() {

          @Override
          public void onClick(View v) {
            {
              FragmentTransaction fragmentTransaction =
                  getSherlockActivity().getSupportFragmentManager().beginTransaction();
              Fragment fragment = new CreatePoiFragment();
              setStorePoiId((View) vs, position);
              Bundle args = new Bundle();
              args.putSerializable(CreatePoiFragment.ARG_POI, poi);
              fragment.setArguments(args);
              fragmentTransaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
              // fragmentTransaction.detach(this);
              fragmentTransaction.replace(R.id.fragment_container, fragment, "pois");
              fragmentTransaction.addToBackStack(fragment.getTag());
              fragmentTransaction.commit();
            }
          }
        });
    b = (ImageButton) vs.findViewById(R.id.poi_tag_btn);
    b.setOnClickListener(
        new OnClickListener() {

          @Override
          public void onClick(View v) {
            {
              TaggingDialog taggingDialog =
                  new TaggingDialog(
                      getActivity(),
                      new TaggingDialog.OnTagsSelectedListener() {

                        @SuppressWarnings("unchecked")
                        @Override
                        public void onTagsSelected(Collection<SemanticSuggestion> suggestions) {
                          new TaggingAsyncTask(poi).execute(Utils.conceptConvertSS(suggestions));
                        }
                      },
                      PoisListingFragment.this,
                      Utils.conceptConvertToSS(poi.getCommunityData().getTags()));
              taggingDialog.show();
            }
          }
        });
    b = (ImageButton) vs.findViewById(R.id.poi_follow_btn);
    b.setOnClickListener(
        new OnClickListener() {

          @Override
          public void onClick(View v) {
            SCAsyncTask<Object, Void, BaseDTObject> followTask =
                new SCAsyncTask<Object, Void, BaseDTObject>(
                    getSherlockActivity(),
                    new FollowAsyncTaskProcessor(getSherlockActivity(), null));
            followTask.execute(
                getSherlockActivity().getApplicationContext(),
                DTParamsHelper.getAppToken(),
                DTHelper.getAuthToken(),
                poi);
          }
        });
  }