无法下载.jpg图像并使用asynctask设置为imageview

时间:2011-05-11 01:51:07

标签: android imageview android-asynctask


我有个问题。我似乎无法从URL源下载.jpg图像,然后将其设置为listview内的imageview。它给我错误“NullPointerException”。我目前正在使用here中的ImageDownloader类。

这是我下载图像文件的代码行:
的onCreate()...

        for (int i = 0; i < listData.size(); i++) {
            imageISBN = listData.get(i).get("coverImage");
            String isbnURL = "http://lib.syndetics.com/index.aspx?isbn=" + imageISBN + 
                                   "/SC.GIF&client=tpoly&type=xw12";
            ImageView iv = (ImageView) findViewById(R.id.cover_image);
            imageDownloader.download(isbnURL,iv);
        }

我认为这可能是由于我的setContentView(R.layout.list)产生了错误,因为它只是一个listview,而imageview链接在另一个xml文件中。

以下是LogCat:

  

05-11 09:26:58.063:ERROR / AndroidRuntime(305):java.lang.RuntimeException:无法启动活动ComponentInfo {com.TPLibrary / com.TPLibrary.Search.SearchResults}:java.lang.NullPointerException   05-11 09:26:58.063:ERROR / AndroidRuntime(305):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)   05-11 09:26:58.063:ERROR / AndroidRuntime(305):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)   05-11 09:26:58.063:ERROR / AndroidRuntime(305):在android.app.ActivityThread.access $ 2300(ActivityThread.java:125)   05-11 09:26:58.063:ERROR / AndroidRuntime(305):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:2033)   05-11 09:26:58.063:ERROR / AndroidRuntime(305):在android.os.Handler.dispatchMessage(Handler.java:99)   05-11 09:26:58.063:ERROR / AndroidRuntime(305):在android.os.Looper.loop(Looper.java:123)   05-11 09:26:58.063:ERROR / AndroidRuntime(305):在android.app.ActivityThread.main(ActivityThread.java:4627)   05-11 09:26:58.063:ERROR / AndroidRuntime(305):at java.lang.reflect.Method.invokeNative(Native Method)   05-11 09:26:58.063:ERROR / AndroidRuntime(305):at java.lang.reflect.Method.invoke(Method.java:521)   05-11 09:26:58.063:ERROR / AndroidRuntime(305):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868)   05-11 09:26:58.063:ERROR / AndroidRuntime(305):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)   05-11 09:26:58.063:ERROR / AndroidRuntime(305):at dalvik.system.NativeStart.main(Native Method)   05-11 09:26:58.063:ERROR / AndroidRuntime(305):引起:java.lang.NullPointerException    05-11 09:26:58.063:ERROR / AndroidRuntime(305):at com.TPLibrary.Search.ImageDownloader.forceDownload(ImageDownloader.java:80)   05-11 09:26:58.063:ERROR / AndroidRuntime(305):at com.TPLibrary.Search.ImageDownloader.download(ImageDownloader.java:49)   05-11 09:26:58.063:ERROR / AndroidRuntime(305):at com.TPLibrary.Search.SearchResults.onCreate(SearchResults.java:185)<< em>   05-11 09:26:58.063:ERROR / AndroidRuntime(305):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)   05-11 09:26:58.063:ERROR / AndroidRuntime(305):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)   05-11 09:26:58.063:ERROR / AndroidRuntime(305):... 11更多

那么伙计们,有什么想法吗?可能是我错误地使用了ImageDownloader类吗?

1 个答案:

答案 0 :(得分:0)

在ImageDownloader类中,模式被分配给NO_ASYNC_TASK:

public enum Mode { NO_ASYNC_TASK, NO_DOWNLOADED_DRAWABLE, CORRECT }
private Mode mode = Mode.NO_ASYNC_TASK;

您打算下载图片。因此,请尝试将mode变量设置为NO_DOWNLOADED_DRAWABLE。