Keypad and Interrupts

I am writing a program that loops a continuous series of text, I'll call it loopingText().
I want to break the loop of text for a menu in order to change values.
Im continuously looping loopingText(), and i use an interrupt to stop it, and select an item from a menu I created.
The only problem is that I'm trying to use a keypad to input values based on the menuItem selected, while still in the ISR. It wont work, it works if i transfer back to the loop() function, just not during the ISR.
This is no good because after selecting a menuItem, you are forced to wait until the end of the loopingText() function until the input screen appears.

If anyone could offer suggestions on how to get around this, all would be appreciated.
I'll post code when i get to my laptop at home if need be.

--SSJ

In the ISR set a flag.

Inside the loop in loopingTest() check for the flag and exit:

if (flag)
return;

In loop(), after loopingText() returns, act on the input if the flag is set, then clear the flag.