Cycle through cameras with UI Button

Ive read through some and I found this code (modified slightly) that seems to be what i want but it is not working to switch the cameras, here are my buttons, i also tried it with keypresses as show 153423-camprobs.png

using UnityEngine.UI;

public class CameraChanger : MonoBehaviour
{
    [SerializeField]
    private Camera[] cams = new Camera[2];

    public Button ChangeCamera;
    public Button ChangeCameraBack;


    int SelectedCamera = 0;


    public void Start()
    {
        cams[0].enabled = true;
        cams[1].enabled = false;
        /*cams[2].enabled = false;
        cams[3].enabled = false;
        cams[4].enabled = false;
        cams[5].enabled = false;*/
    }

    public void NextCamera()
    {
        //if (Input.GetButtonDown(ChangeCamera)) is this how to use a UI Button

        if (Input.GetKeyDown(KeyCode.X))
            CycleForward();
        if (Input.GetKeyDown(KeyCode.C))
            CycleBackward();
    }

    private void CycleForward()
    {
        cams[SelectedCamera].enabled = false;

        SelectedCamera++;
        /*SelectedCamera %= 2;*/

        cams[SelectedCamera].enabled = true;
    }
    private void CycleBackward()
    {
        cams[SelectedCamera].enabled = false;

        SelectedCamera--;
        SelectedCamera %= 2;

        cams[SelectedCamera].enabled = true;
    }

}

using UnityEngine.UI;

public class CameraChanger : MonoBehaviour
{
    [SerializeField]
    private Camera[] cams = new Camera[2];

    public Button SelectNextCameraButton;
    public Button SelectPreviousCameraButton;

    private int selectedCameraIndex = 0;


    public void Start()
    {
        for(int i = 0 ; i < cams.Length ; ++i)
            cams*.enabled = i == selectedCameraIndex;*

SelectNextCameraButton.onClick.AddListener(SelectNextCamera);
SelectPreviousCameraButton.onClick.AddListener(SelectPreviousCamera);
}

private void Update()
{
if (Input.GetKeyDown(KeyCode.X))
SelectNextCamera();
if (Input.GetKeyDown(KeyCode.C))
SelectPreviousCamera();
}

private void SelectNextCamera()
{
cams[selectedCameraIndex].enabled = false;

selectedCameraIndex = (selectedCameraIndex + 1) % cams.Length;

cams[selectedCameraIndex].enabled = true;
}
private void SelectPreviousCamera()
{
cams[selectedCameraIndex].enabled = false;

selectedCameraIndex = (selectedCameraIndex + cams.Length - 1) % cams.Length;

cams[selectedCameraIndex].enabled = true;
}
}