Приведение из RoundedBitmapDrawable к BitmapDrawable
Все работало хорошо, прежде чем начать использовать RoundedBitmapDrawable для округления Bitmap
углы.
После начала использования RoundedBitmapDrawable
, Я собираюсь:
java.lang.ClassCastException: android.support.v4.graphics.drawable.RoundedBitmapDrawable21 нельзя преобразовать в android.graphics.drawable.BitmapDrawable
Код:
BitmapDrawable bitmapDrawable = ((BitmapDrawable) imageView.getDrawable());
1 ответ
Между этими двумя типами нет иерархической связи, за исключением того, что они имеют одного и того же родителя. Вместо этого вы можете проверить тип рисования во время выполнения и привести соответственно
if (imageView.getDrawable() instanceof android.support.v4.graphics.drawable.RoundedBitmapDrawable) {
RoundedBitmapDrawable drawable = (RoundedBitmapDrawable) imageView.getDrawable();
Bitmap roundedBitmap = drawable.getBitmap();
// ...
}