Button Press with NeoPixels

Hello! I am fairly new to using NeoPixels and wanted to try using them for a project before I give up and change to a RBG LED. I’ve done some research on how they work and managed to get one connected with my Arduino Uno, which is good. The next step is trying to incorporate a button that would change the colour of the pixel upon press. The NeoPixel that I’m using is a Flora RBG Smart NeoPixel V2 and I’m only using one, not a strip of them.

Here is the code that I have so far. Unfortunately, nothing seems to be happening upon the press of the button, however the code compiler shows that there is nothing wrong with the code. Would anyone be able to help a NeoPixel rookie like me figure it out?

// NeoPixel Ring simple sketch (c) 2013 Shae Erisson
// Released under the GPLv3 license to match the rest of the
// Adafruit NeoPixel library

#include <Adafruit_NeoPixel.h>

#define BUTTON_PIN 2 // button pin

#define PIXEL_PIN 6 // neopixel pin

#define PIXEL_COUNT 1 // number of attached neopixels

Adafruit_NeoPixel pixels(PIXEL_COUNT, PIXEL_PIN, NEO_GRB + NEO_KHZ800);

bool oldState = HIGH;
int showType = 0;


void setup() {
  pinMode(BUTTON_PIN, INPUT_PULLUP);
  pixels.begin();
  pixels.show();
}


void loop() {
  bool newState = digitalRead(BUTTON_PIN);

  if (newState == LOW && oldState == HIGH) {
    delay(20);
    newState = digitalRead(BUTTON_PIN);
    if (newState == LOW) {
      showType++;
      if (showType > 1)
      showType=0;
      startShow(showType);
    }
  }
  oldState = newState;
}

void startShow(int i){
  switch(i){
    case 0: pixels.setPixelColor(i, 150, 0, 0);
            break;
    case 1: pixels.setPixelColor(i, 0, 150, 0);
            break;
    case 2: pixels.setPixelColor(i, 0, 0, 150);
            break;
  }
  pixels.show();
}

Print some of your variables to the serial monitor to see if they are what you think they should be.

If something compiles, this does not mean your program will work.

void startShow(int i){
  switch(i){
    case 0: pixels.setPixelColor(i, 150, 0, 0);
            break;
    case 1: pixels.setPixelColor(i, 0, 150, 0);
            break;
    case 2: pixels.setPixelColor(i, 0, 0, 150);
            break;
  }
  pixels.show();
}

What are the possible values of i, bearing in mind

      showType++;
      if (showType > 1)
      showType=0;
      startShow(showType);