ハッシュマップから null 値を受け取りました。これはハッシュマップの作成です:
private HashMap<String,Bitmap> thumbs = new HashMap<String,Bitmap>();
/* adding a single value to the hashmap */
次に、次のように、ハッシュマップから値を取得します。
public Bitmap getImageByFileName(String fileName) {
Bitmap fish = null;
Iterator it = thumbs.entrySet().iterator();
while (it.hasNext()) {
Map.Entry pairs = (Map.Entry)it.next();
fish = (Bitmap)thumbs.get(fileName);
it.remove();
}
Log.i("shnitzel", " bitmap is " + fish);
fish = (Bitmap)thumbs.get(fileName);
Log.i("shnitzel", " final bitmap is " + fish);
return fish;
}
ログファイル:
08-05 22:18:28.170: I/shnitzel(477): bitmap is android.graphics.Bitmap@40650138
08-05 22:18:28.170: I/shnitzel(477): final bitmap is null
ご覧のとおり、「while」ループの内側と外側でまったく同じコマンドを使用していますが、何らかの理由でループの内側では機能しますが、外側では機能しません。なぜこれが起こるのですか?