Warum java.lang.ClassCastException anzeigen: android.text.SpannableString kann nicht in java.lang.String umgewandelt werden?

7

Beim Kopieren von String von einer beliebigen Browserseite funktioniert pasteData ordnungsgemäß. Wenn Sie jedoch SpannedString aus einem Nachrichteneditor (Feld) kopieren, stürzt die Anwendung ab und zeigt folgende Fehlermeldung an:

%Vor%

Mein Code:

%Vor%

wo die ClipboardManager Instanz als clipBoard definiert wurde, unten:

%Vor%

Alles, was ich versuche, ist pasteData in String format. Wie wird dieser Fehler behoben? Jede Hilfe wird geschätzt.

    
Xiong Chiamiov 15.12.2014, 07:26
quelle

3 Antworten

11

SpannableString ist nicht direkt String. Du kannst also nicht casten. aber es kann in eine Zeichenfolge konvertiert werden. Sie können etwas in eine Zeichenkette mit Verkettung mit einer leeren Zeichenkette konvertieren.

%Vor%     
Adem 15.12.2014, 07:29
quelle
21

Von CharSequence.toString ()

  

Gibt eine Zeichenfolge mit denselben Zeichen in derselben Reihenfolge wie in dieser Sequenz zurück.

Sie müssen den nächsten Code verwenden.

%Vor%

Sie können nicht in android.text.SpannableString umwandeln, da item.getText() CharSequence zurückgibt. Es gibt viele Implementierungen von es

    
gio 15.12.2014 07:36
quelle
1

Wenn Ihr überspannter Text nur HTML-Inhalt enthält, können Sie ihn mit Html.toHtml()

konvertieren %Vor%     
SilentKiller 15.12.2014 07:29
quelle