private void initializeProjectionView(final Geocache cache) {

        //connect formula-editfields with cache's Variable list
        final VariableList varList = cache.getVariables();
        final BiConsumer<String, Formula> listener = (s, f) -> {
            varListAdapter.checkAddVisibleVariables(getNeededVariablesForProjection());
            recalculateProjectedCoordinates();
        };
        binding.projectionBearingAngle.setVariableList(varList);
        binding.projectionBearingAngle.setFormulaChangeListener(listener);
        binding.projectionBearingDistance.setVariableList(varList);
        binding.projectionBearingDistance.setFormulaChangeListener(listener);
        binding.projectionOffsetLatitude.setVariableList(varList);
        binding.projectionOffsetLatitude.setFormulaChangeListener(listener);
        binding.projectionOffsetLongitude.setVariableList(varList);
        binding.projectionOffsetLongitude.setFormulaChangeListener(listener);

        //initialize spinners
        projectionType.setValues(Arrays.asList(ProjectionType.values()))
            .setDisplayMapper(pt -> TextParam.text(pt.getL10n()).setImage(ImageParam.id(pt.markerId)))
            .setSpinner(binding.projectionType)
            .setChangeListener(pt -> recalculateProjectionView());
        projectionBearingUnit.setValues(Arrays.asList(DistanceUnit.values()))
            .setDisplayMapper(pt -> TextParam.text(pt.getId()))
            .setSpinner(binding.projectionBearingUnit)
            .setChangeListener(pt -> recalculateProjectionView());

        varListAdapter = binding.variableList.getAdapter();
        varListAdapter.setDisplay(VariableListView.DisplayType.MINIMALISTIC, 2);
        varListAdapter.setVarChangeCallback((v, s) -> {
            varListAdapter.checkAddVisibleVariables(Collections.singletonList(v));
            recalculateProjectedCoordinates();
        });

        varListAdapter.setVariableList(varList);
        varListAdapter.setVisibleVariablesAndDependent(getNeededVariablesForProjection());

        binding.variablesTidyup.setOnClickListener(v -> varListAdapter.tidyUp(getNeededVariablesForProjection()));
    }
State the Coordinate Calculator was last left in.
main/src/main/java/cgeo/geocaching/EditWaypointActivity.java