Используйте instanceof
вместо того, чтобы делать кастинг автоматически.
for (Object objSpan: objectSpans) {
if(objSpan instanceof Spanned){
Spanned spanned = (Spanned) objSpan;// Here I encounter a ClassCastException
start = spanned.getSpanStart(new Object());
end = spanned.getSpanEnd(new Object());
...
}
}
Чтобы понять, в чем проблема, вы можете прочитать это ClassCastException Documentation
, чтобы вы могли прочитать:
Брошено, чтобы указать, что код пыталсяприведение объекта к подклассу, экземпляром которого он не является.Например, следующий код генерирует ClassCastException:
Итак, если вы хотите сделать cast
, вы должны убедиться, что объект того же типа, что вы объявляете, в противном случае вы 'получите ClassCastException