using counter with LCD buttons

I have a program where a menu item is selected on an LCD shield. once the item is selected, the up and down arrows are used to select 1 of 4 “modes”. I am using the prgk variable to track how many times the up or down arrow is pressed. the prgprint variable contains the text corresponding to the value of prgk.
with the lines commented as below, it runs fine and prgk prints to the LCD without issue; but if I uncomment the section assigning the text to prgprint, and replace lcd.print (prgk); with lcd.print (prgprint); it goes haywire. What am I doing wrong?
Before the setup loop I define: String prgprint = “RC ONLY”;
the rest of the program is too long to post here.

void menuItem2() { //                                                          **************************************This function is for selecting program***********************************
  int activeButton = 0;
  
 lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("PROGRAM:");
  lcd.setCursor(0, 1);
  lcd.print(prgk);
 
  while (activeButton == 0) {
    int button;
    readKey = analogRead(0);
    if (readKey < 790) {
      delay(100);
      readKey = analogRead(0);
    }
  
    button = evaluateButton(readKey);
    switch (button) {
      case 2: //press up arrow
      prgk = prgk +1;
      if (prgk > 4){
        prgk = 4;
      }
  break;
    case 3: //press down arrow
 prgk = prgk -1;
      if (prgk < 1){
        prgk = 1;
      }
  break;
        case 4:  // This case will execute if the "back" button is pressed
        button = 0;
        activeButton = 1;
        break;
        }
  /*if (prgk = 1){
  prgprint = "RC ONLY";
}if (prgk = 2){
  prgprint = "HEAD ONLY";
  }if (prgk = 3){
  prgprint = "HEEL ONLY";
  }if (prgk = 4){
  prgprint = "HEAD AND HEEL";
  }
*/
 lcd.setCursor(0, 1);
  lcd.print (prgk);
  } 
  }

Your if statements are assignments (=) rather than comparison (==)

Thanks, that was it!