Perché il valore all'indice 0 lo stampi sempre comunque.
P.S. mi permetto di consigliarti di non fare una marea di getText/setText. Usa StringBuffer (o StringBuilder da Java 5), componi tutto il testo lì dentro e poi passa una sola volta la stringa risultante a setText.