こんにちは、viewflipper ページに画像を追加しようとしたときに問題が発生しました。db4o データベースからビットマップを取得しています (エンコーディングまたはそれが使用しているものであるかどうかはわかりません)。
private void setImageView() {
page = (ViewFlipper) findViewById(R.id.viewFlipper1);
int temp = DigPlayDB.getInstance(getBaseContext()).getPlaysDBSize();
for(int j = 0; j < temp; ++j){
test.add(DigPlayDB.getInstance(getBaseContext()).getPlayByInt(j).getImage());
test1.add(DigPlayDB.getInstance(getBaseContext()).getPlayByInt(j).getPlayName());
}
for(int i=0;i<temp; i++)
{
// This will create dynamic image view and add them to ViewFlipper
setFlipperImage(test.get(i));
}
そして、画像の設定とページへのビューの追加
private void setFlipperImage(Bitmap image){
ImageView _image = new ImageView(getApplicationContext());
//_image.setBackgroundDrawable(new BitmapDrawable(getResources(), image));
_image.setImageBitmap(image);
page.addView(_image);
Log.d("db", "" + image);
}
画像をデータベースに追加した直後に機能しますが、その画像、古い画像、およびアプリケーションを再起動したときに、設定したデバッグ ログから読み込まれると表示されていても読み込まれません。最後のものはまだどこかのキャッシュにある可能性があるため表示されると考えていますが、キャッシュではなくデータベースに保存されている古いものは正しくエンコードされていないか、何かです。どんな助けでも素晴らしいでしょう。ありがとう!
編集:「テスト」はビットマップの配列リストであることを言及する必要があります。