我有个问题。我似乎无法从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类吗?
答案 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。