0

こんにちは、画像を再帰的にダウンロードしようとしていますが、できません。最初の画像のみをダウンロードします。誰でも理由を知っていますか?

これはダウンロードするコードです。リストに項目があるかどうかを確認するためにログを作成しました。はい、20 あります。

Log.d("imageList.size",String.valueOf(imageList.size()));
try
        {
            for (int i=0; i<=imageList.size(); i++)
            {
            String image= imageList.get(i);
            Log.d("imageList.get(0)",image);
            String filename = String.valueOf(image.hashCode());
            Log.v("TAG FILE :", filename);

            File f = new File(cacheDir, filename);

        // Is the bitmap in our cache?
        Bitmap bitmap = BitmapFactory.decodeFile(f.getPath());
        if (bitmap != null)
            return bitmap;

        else {
            // Nope, have to download it
            try {
                bitmap = BitmapFactory.decodeStream(new URL(image)
                        .openConnection().getInputStream());
                // save bitmap to cache for later
                writeFile(bitmap, f);
                return bitmap;
            } catch (FileNotFoundException ex) {
                ex.printStackTrace();
                Log.v("FILE NOT FOUND", "FILE NOT FOUND");
                return null;
            }
            catch (Exception e) {
                // TODO: handle exception
                e.printStackTrace();
            }
        }
        }

        }
        catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
        }

            return null;
4

2 に答える 2

0

forループに問題があるようです。ループの最初の繰り返しで終了します。中かっこを確認し、中かっこが意図したとおりに設定され、ロジックが理にかなっていることを確認してください。for ループが完了するまで戻ってはいけません。

于 2013-01-30T08:23:24.043 に答える
0

行: コードの 25、ループが終了する前に戻らないでください。

于 2013-01-30T08:28:13.797 に答える