J'ai une chaîne dans le fichier strings.xml. clique sur une partie de cette chaîne redirige vers une tâche. cette partie est faite en fonction de l'index de la chaîne.Chaîne localisée du handle contient un lien dans un seul TextView
Maintenant, j'essaie de le traduire en français mais je reçois l'index hors de l'exception liée à moins de la longueur des chaînes anglaises.
Quelqu'un pourrait-il dire, quelle serait la meilleure façon de gérer ce scénario?
La séparation de cordes est une chose que nous pouvons faire. Mais je veux le manipuler dans une vue de texte elle-même.
Code pour les Anglais chaîne:
SpannableString spannableString = new SpannableString(getResources().getString(R.string.desc));
ClickableSpan clickableSpan = new ClickableSpan() {
@Override
public void onClick(View textView) {
Log.v("dosomething", "dosomething");
}
@Override
public void updateDrawState(TextPaint ds) {
Log.v("task one", "task one");
}
};
spannableString.setSpan(clickableSpan, 87, spannableString.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
mDesc.setText(spannableString);
mDesc.setMovementMethod(LinkMovementMethod.getInstance());
Vous avez besoin d'une séparation de chaînes, mais seulement pour trouver la méthode 'int start' pour' setSpan() '. –