@Override
    public void onClick(View v) {
      if (v instanceof RadioButton) {

        if (rowActionListener == null) return;

        ViewParent parent = v.getParent();
        if (!(parent instanceof RadioGroup)) return;
        RadioGroup group = (RadioGroup) parent;

        Object tag = group.getTag();
        if (!(tag instanceof Integer)) return;

        int position = (Integer) tag;
        if (GlobalConstants.LOG_DEBUG)
          Log.d(
              GlobalConstants.LOG_TAG,
              "RadioButton clicked " + Boolean.toString(((RadioButton) v).isChecked()));
        int checkedId = v.getId();

        switch (checkedId) {
          case R.id.option_nochange:
            rowActionListener.onRadioButtonClick(
                group,
                checkedId,
                position,
                PDroidSettingListFragment.OnDetailRowActionListener.CheckedOption.NO_CHANGE);
            break;
          case R.id.option_allow:
            rowActionListener.onRadioButtonClick(
                group,
                checkedId,
                position,
                PDroidSettingListFragment.OnDetailRowActionListener.CheckedOption.ALLOW);
            break;
          case R.id.option_yes:
            rowActionListener.onRadioButtonClick(
                group,
                checkedId,
                position,
                PDroidSettingListFragment.OnDetailRowActionListener.CheckedOption.YES);
            break;
          case R.id.option_custom:
            rowActionListener.onRadioButtonClick(
                group,
                checkedId,
                position,
                PDroidSettingListFragment.OnDetailRowActionListener.CheckedOption.CUSTOM);
            break;
          case R.id.option_customlocation:
            rowActionListener.onRadioButtonClick(
                group,
                checkedId,
                position,
                PDroidSettingListFragment.OnDetailRowActionListener.CheckedOption.CUSTOMLOCATION);
            break;
          case R.id.option_random:
            rowActionListener.onRadioButtonClick(
                group,
                checkedId,
                position,
                PDroidSettingListFragment.OnDetailRowActionListener.CheckedOption.RANDOM);
            break;
          case R.id.option_deny:
            rowActionListener.onRadioButtonClick(
                group,
                checkedId,
                position,
                PDroidSettingListFragment.OnDetailRowActionListener.CheckedOption.DENY);
            break;
          case R.id.option_no:
            rowActionListener.onRadioButtonClick(
                group,
                checkedId,
                position,
                PDroidSettingListFragment.OnDetailRowActionListener.CheckedOption.NO);
            break;
        }
        notifyDataSetChanged();
      }
    }