Invalidar não está redesenhando a tela. Android

BufferedReader hl  = new BufferedReader(new InputStreamReader(getResources().openRawResource(R.raw.lines)));
                while(hl.ready()){
                    showLines.append(hl.readLine()+"\n");
                    showLines.invalidate();
                    Thread.sleep(10);
                }

Esse é o meu código, mas não é redesenhado quando eu digo. Ele deve ser redesenhado após cada linha que é adicionada à visualização de texto, mas ainda é redesenhada no final? Alguém pode me ajudar, eu não consigo descobrir.

questionAnswers(2)

yourAnswerToTheQuestion