Cómo recorrer los tramos en una SpannedString o SpannableString en Android

Si tengo unSpannedString (oSpannableString) Me gusta esto

SpannableString spannableString = new SpannableString("Hello World!");
ForegroundColorSpan foregroundSpan = new ForegroundColorSpan(Color.RED);
BackgroundColorSpan backgroundSpan = new BackgroundColorSpan(Color.YELLOW);
spannableString.setSpan(foregroundSpan, 1, 8, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
spannableString.setSpan(backgroundSpan, 3, spannableString.length() - 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(spannableString);

¿Cómo recorrería los tramos del resultadoString?

Respuestas a la pregunta(1)

Su respuesta a la pregunta