gorod’s diary

楽天ブログに過去記事あります

drawableフォルダにある画像をBitmapに変換!

またまた悩んだお題ですw

画像をRecyclerViewに一覧表示しようかと考えて、swiftと同じように「Image」で良いのかな〜と思ってたのですが、ネットでググってみると画像はビットマップ化させるのが良いと。

なるほど!
ということは、配列は「Bitmap」にすれば良いのだな!となり…画像未登録の場合はdrawableにセットした画像を配列にセットしてみるか〜で、ネット記事でかなりヒットした書き方を実践してみたんですよね。

--- アクティビティ内にて ---
dataset[0].bitmapItem = BitmapFactory.decodeResource(this.resources, R.drawable.baseline_image_24)

上記のPGで実行すると、なんと強制終了してしまうのですよ…orz
tryを付けてエラーの原因を調べてみると…

decodeResource(...)must not be null

え?え?
何でかnullが返って来てる模様。
今のバージョンでは、このやり方は取得出来ないようだorz
仕方がないので更にググってみると…
android - java.lang.NullPointerException: decodeResource(context.r…rces, R.drawable.ic_logo) must not be null - Stack Overflow

上記のサイトに書かれてある通りの書き方に変えたことで無事にdrawableの画像をビットマップ化させることが出来ました(o^^o)
ありがとうございます!!

--- アクティビティ内にて ---
dataset[0].bitmapItem = ContextCompat.getDrawable(this, R.drawable.baseline_image_24)!!.toBitmap()


非推奨にもなってないし、選べることも出来たので使えるじゃん♪と思ってたら…そうでもなかったというw
nullが返ってくるけど、どういったパターンなら使えるんだろう??



ではでは!