2015-10-28 2 views
3

Это будет отображаться шрифтом с одним интервалом. Первые четыре пробела будут удалены, но все остальные пробелы будут сохранены.java.lang.ClassCastException: android.text.SpannableString нельзя отнести к java.lang.String

String letterStr = null; 
letterStr = (String)((TextView)view).getText(); 
+0

'getText()' из 'TextView' или' EditText' вернет некоторую реализацию 'CharSequence', которая не обязательно будет' String'. – CommonsWare

+0

эта ошибка не всегда повторяющаяся, иногда случается, почему? Hesitation! –

ответ

2

String содержит HTML наценки и андроид воспринимает его как Spannable.

Вы можете либо присвоить возвращаемое значение getText() к CharSequence объекта, супер-класс для обоих String и Spannable, или заменить бросание с toString()

letterStr = ((TextView)view).getText().toString(); 

бывший сохранит HTML наценки, последний не будет

+0

У меня такая же проблема «Fatal Exception: java.lang.ClassCastException android.text.SpannedString не может быть передан в android.text.Spannable«. .setText (Html.fromHtml (mergedHTML)); я столкнулся с проблемой в GestureDetector gestureDetector = новый GestureDetector (getActivity(), новый GestureDetector.SimpleOnGestureListener() { @Override общественного недействительными onLongPress (MotionEvent е) { super.onLongPress (е); textview.setTextIsSelectable (правда);}}}); – Debugger