2016-10-13 1 views
3

ich die folgenden Fehler immer Beim Versuch, den Text in der Textansicht Renderjava.lang.RuntimeException: Absatz Spanne muss Absatzgrenze beginnen (46 folgt)

java.lang.RuntimeException: PARAGRAPH span must start at paragraph boundary (46 follows ) 
                    at android.text.SpannableStringInternal.setSpan(SpannableStringInternal.java:161) 
                    at android.text.SpannableStringInternal.copySpans(SpannableStringInternal.java:67) 
                    at android.text.SpannableStringInternal.<init>(SpannableStringInternal.java:42) 
                    at android.text.SpannedString.<init>(SpannedString.java:30) 
                    at android.text.method.ReplacementTransformationMethod.getTransformation(ReplacementTransformationMethod.java:83) 
                    at android.widget.TextView.setText(TextView.java:4436) 
                    at android.widget.TextView.setText(TextView.java:4332) 
                    at android.widget.TextView.setText(TextView.java:4307) 

Ich rufe wie

myAsyncTask().execute(source, listDrawable, textView.getContext()); 
        return listDrawable; 
       } 
      }, new MyTagHandler()); 
     textView.setText(htmlText); 

Kann jemand in diesem mir helfen, das oben genannten Problem zu sortieren

+0

Kann https://github.com/SufficientlySecure/html-textview/issues/6 Ihnen helfen? – Ircover

Antwort

3

Du bist wahrscheinlich die Funktion Html.fromHtml(String source) verwenden, die für Android SDK API >= 24 (Anrdroid 7.0) geändert wurde, um Ihr Spannbar für textView.setText(htmlText), so unterscheidet sich das resultierende Spannbare jetzt ein wenig. Aus diesem Grund wird es nicht mehr zu alten veralteten Funktionen/Attributen passen.

Daher haben Sie drei Möglichkeiten, Ihr Problem zu lösen:

  • (EDIT:) Die wahrscheinlich einfachste Lösung: Wenn Sie das Android-Attribut android:singleLine=true in der Liste Elemente android:maxLines="1" verwenden stattdessen verwenden.
  • Grundsätzlich müssen Sie auf Ihre Spannables und ihre Grenzen achten, besonders wenn Sie Ihre Spannables selbst erstellen. Verwenden Sie nur unterstützte HTML-Tags, die direkt aus dem Quellcode ausgelesen werden können (here).
  • Sie können auch die Funktion loadDataWithBaseURL(...) verwenden, um Ihr Problem zu lösen, aber dann müssen Sie eine Webansicht verwenden, die eine große Überladung für ein Listenelement sein könnte.
Verwandte Themen