Although I prefer to test the newData flag in loop(), I agree that Robin's code works because it checks the flag in the printNwData() function.
The only thing OP has to do is to move ledStrip.write() into the printNewData() function at thr right place and it should work. As printNewData now does not only print, a more sensible name should be appropriate.