private void clearInfo() {
   textHousenumber.setText("");
   inputNotes.setText("");
   address.setNotes("");
   address.setNumber("");
   address.setHousename("");
   mapper.setCurrentAddress(address);
   // update extended view
   addressCallback.onAddressUpdated();
 }
  @Override
  public void onClick(View v) {
    enableHousenumberView();
    address = mapper.getCurrentAddress();
    addressCallback.extendedAddressInactive();
    String housenumber = (String) textHousenumber.getText().toString();
    textHousenumber.clearFocus();

    try {
      switch (v.getId()) {
        case R.id.helpBtn:
          Intent help = new Intent(getActivity(), HelpActivity.class);
          startActivity(help);
          break;
        case R.id.button_C:
          // clear
          keyboardVibrate();
          clearInfo();
          break;
        case R.id.button_DEL:
          {
            keyboardVibrate();
            // delete the last char
            if (housenumber.length() > 0) {
              address.setNumber(housenumber.substring(0, housenumber.length() - 1));
              mapper.setCurrentAddress(address);
            }
            break;
          }
        case R.id.button_L:
          if (!KeypadMapperApplication.getInstance().getSettings().isRecording()) {
            Toast.makeText(getActivity(), localizer.getString("notRecording"), Toast.LENGTH_SHORT)
                .show();
            return;
          }

          if (mapper.getCurrentLocation() == null && mapper.getFreezedLocation() == null) {
            throw new LocationNotAvailableException("Location is not available");
          }

          // must update address if user has used soft-keyboard
          if (housenumber.length() != 0) {
            address.setNumber(localizer.getString("buttonLeft") + ": " + housenumber);
          }

          mapper.setCurrentAddress(address);
          // place address to the left
          mapper.saveCurrentAddress(0, distance);

          clearInfo();
          vibrate();
          break;
        case R.id.button_F:
          if (!KeypadMapperApplication.getInstance().getSettings().isRecording()) {
            Toast.makeText(getActivity(), localizer.getString("notRecording"), Toast.LENGTH_SHORT)
                .show();
            return;
          }

          if (mapper.getCurrentLocation() == null && mapper.getFreezedLocation() == null) {
            throw new LocationNotAvailableException("Location is not available");
          }

          // must update address if user has used soft-keyboard
          if (housenumber.length() != 0) {
            address.setNumber(localizer.getString("buttonFront") + ": " + housenumber);
          }
          mapper.setCurrentAddress(address);
          // place address forwards
          mapper.saveCurrentAddress(distance, 0);

          // menu.updateShareIcon();

          clearInfo();
          vibrate();
          break;
        case R.id.button_R:
          if (!KeypadMapperApplication.getInstance().getSettings().isRecording()) {
            Toast.makeText(getActivity(), localizer.getString("notRecording"), Toast.LENGTH_SHORT)
                .show();
            return;
          }

          if (mapper.getCurrentLocation() == null && mapper.getFreezedLocation() == null) {
            throw new LocationNotAvailableException("Location is not available");
          }

          // must update address if user has used soft-keyboard
          if (housenumber.length() != 0) {
            address.setNumber(localizer.getString("buttonRight") + ": " + housenumber);
          }
          mapper.setCurrentAddress(address);

          // place address to the right
          mapper.saveCurrentAddress(0, -distance);
          // menu.updateShareIcon();

          clearInfo();
          vibrate();
          break;
        default:
          // all other buttons are used to add characters
          keyboardVibrate();
          housenumber += ((Button) v).getText();

          address.setNumber(housenumber);
          mapper.setCurrentAddress(address);
      }
    } catch (LocationNotAvailableException exception) {
      Toast.makeText(getActivity(), localizer.getString("locationNotAvailable"), Toast.LENGTH_SHORT)
          .show();
    }
    addressCallback.onHousenumberChanged(address.getNumber());
    updateLastHouseNumbers();
  }