2014年1月17日

Android2.x系バグ解決












先日リリースした、

梵字DE合格祈願

で起きておりました、

「2.x系端末でウィジェットをタッチして設定画面から画像を変更しようとしても変わらない」

という事象を改善してアップデートしましたー!



どうやったかは以下↓


■Before(×)■
Drawable drawable = getResources().getDrawable(R.drawable.bonjiImage);
Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap();
remoteViews.setImageViewBitmap(R.id.imageView, bitmap);

■After(○)■
remoteViews.setImageViewResource(R.id.imageView, R.drawable.bonjiImage);



そもそも大きな間違いは

setImageViewResourceというメソッドがあることを見逃して

リソースからがんばってビットマップ作っちゃったところですね。

必要なかった。



で、疑問なのは

Beforeはなんで4.x系では動くの?

というところなのですが、

これについては現場のアンドロイダー曰く、

長尾の生成したビットマップに何らかの欠陥があって(詳しくは調べてません)

4.x系ではそういうのがサポートされちゃってるから(詳しくは調べてません)

ちょっと欠陥があるビットマップ渡しても動いてくれちゃうのかも(詳しくは調べてません)、

だそうです。

結局詳しく調べないとわからないですね。

画像をリソースに置いている場合はこっちを使いましょう、ということで。

ダウンロードした画像をウィジェットに貼りたい、

とかだとどうしようもないのでこれは役に立ちません。

すいません。



我々開発人が2.x系とおさらばできるのはいつの日になるのでしょうか。

ハプニングが起きまくるのでおもしろいといえばおもしろいですが、

やっぱりこのシガラミから早く解放されたいですよね!












0 件のコメント:

コメントを投稿