Hallo Ich habe Text in einer Textansicht festgelegt.So konvertieren Sie SpannedString zu spannbar
TextView tweet = (TextView) vi.findViewById(R.id.text);
tweet.setText(Html.fromHtml(sb.toString()));
Dann brauche ich den Text des TextView
in Spannble
zu konvertieren. Also tat ich dies wie:
Spannable s = (Spannable) tweet.getText();
Ich brauche es Spannable
zu konvertieren, weil ich die TextView
in eine Funktion übergeben:
private void stripUnderlines(TextView textView) {
Spannable s = (Spannable) textView.getText();
URLSpan[] spans = s.getSpans(0, s.length(), URLSpan.class);
for (URLSpan span : spans) {
int start = s.getSpanStart(span);
int end = s.getSpanEnd(span);
s.removeSpan(span);
span = new URLSpanNoUnderline(span.getURL());
s.setSpan(span, start, end, 0);
}
textView.setText(s);
}
private class URLSpanNoUnderline extends URLSpan {
public URLSpanNoUnderline(String url) {
super(url);
}
@Override
public void updateDrawState(TextPaint ds) {
super.updateDrawState(ds);
ds.setUnderlineText(false);
}
}
Dies zeigt keine Fehler/Warnung. Aber werfen einen Laufzeitfehler:
java.lang.ClassCastException: android.text.SpannedString cannot be cast to android.text.Spannable
Wie kann ich die SpannedStringt/Text des Textview in Spannble konvertieren? Oder kann ich die gleiche Aufgabe mit SpannedString innerhalb der Funktion tun?
Schrecklich, wenn UI Jungs entscheiden, Links ohne Unterstreichungen zu machen, huh? Durch dieselbe Sache gehen. – portfoliobuilder