You're correct. The GUI thread will be busy in the onCreate function, and so the onClick method can't be called to interrupt complicatedStuff, even if submitting an item to the looper.
In fact, this sort of thing would only be possible if more than one thread were involved. Even then, if it required a submission to runOnUiThread, it would likely fail as a long running operation is in progress.
I suggest you perform your complicatedStuff routine on a second thread. Long running operations do not belong on the UI thread.