Android Jellybean (SDK 18) を使用して単純な ClipDrawable を実装しようとしています。BitmapDrawable ではなく Drawable を返すときに ImageView.getDrawable() のキャスト エラーが発生する理由がわかりません
アクティビティの onCreate() に関連するコードは次のとおりです。
ImageView image = (ImageView) findViewById(R.id.guage_one);
ClipDrawable drawable = (ClipDrawable) image.getDrawable();
drawable.setLevel(10000);
これで ClassCastException が発生するのはなぜですか? BitmapDrawable と ClipDrawable は Drawable のサブクラスであることを知っているので、それらを互いにキャストすることはできません。しかし、image.getDrawable() がドローアブルだけでなく BitmapDrawable を返すのはなぜですか? ドキュメントに何か欠けていますか?