2011-06-07 4 views
22

J'ai un TextView qui est des lignes X à long. Comment obtenir le texte qui se trouve, disons, à la ligne 3?Comment puis-je obtenir le texte à une ligne spécifique dans un TextView

Exemple: J'ai cette TextView

Ceci est la ligne 1

Et c'est la ligne 2

Et c'est la ligne 3

Je veux être en mesure d'obtenir le String à l'une de ces lignes par lui-même, comme obtenir le String à la ligne 3 retournerait "Et ceci est la ligne 3". La recherche de sauts de ligne n'est pas la solution dont j'ai besoin, car elle ne prend pas en compte l'habillage de texte.

Répondre

29

Vous pouvez utiliser textView.getLayout(). GetLineStart (ligne int) et getLineEnd pour rechercher les décalages de caractères dans le texte.

Ensuite, vous pouvez simplement utiliser textView.getText(). Substring (début, fin) - ou sous-séquence si vous utilisez Spannables pour le formatage/etc.

+1

Merci! Je n'avais aucune idée que TextView avait sa propre disposition spéciale, bien que cela ait du sens. C'était exactement ce dont j'avais besoin. –

+0

Merci beaucoup. Votre réponse a sauvé ma journée! –

Questions connexes