Android-数组存在问题
当我试图在Async任务中保存下载的图像时,在活动中:Android-数组存在问题,android,arrays,gridview,bitmap,Android,Arrays,Gridview,Bitmap,当我试图在Async任务中保存下载的图像时,在活动中: URL url; try { url = new URL("http://example/URL"); try { bmp = BitmapFactory.decodeStream(url.openConnec
URL url;
try {
url = new URL("http://example/URL");
try {
bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
imagenes.add(bmp);
discotecaslist.add(map);
我犯了这个错误:
01-14 19:40:13.906: E/AndroidRuntime(31390): FATAL EXCEPTION: AsyncTask #1
01-14 19:40:13.906: E/AndroidRuntime(31390): java.lang.RuntimeException: An error occured while executing doInBackground()
01-14 19:40:13.906: E/AndroidRuntime(31390): at android.os.AsyncTask$3.done(AsyncTask.java:299)
01-14 19:40:13.906: E/AndroidRuntime(31390): at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
01-14 19:40:13.906: E/AndroidRuntime(31390): at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
01-14 19:40:13.906: E/AndroidRuntime(31390): at java.util.concurrent.FutureTask.run(FutureTask.java:239)
01-14 19:40:13.906: E/AndroidRuntime(31390): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
01-14 19:40:13.906: E/AndroidRuntime(31390): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
01-14 19:40:13.906: E/AndroidRuntime(31390): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
01-14 19:40:13.906: E/AndroidRuntime(31390): at java.lang.Thread.run(Thread.java:864)
01-14 19:40:13.906: E/AndroidRuntime(31390): Caused by: java.lang.NullPointerException
01-14 19:40:13.906: E/AndroidRuntime(31390): at com.example.apparty.TabDiscotecas$LoadAllProducts.doInBackground(TabDiscotecas.java:195)
01-14 19:40:13.906: E/AndroidRuntime(31390): at com.example.apparty.TabDiscotecas$LoadAllProducts.doInBackground(TabDiscotecas.java:1)
01-14 19:40:13.906: E/AndroidRuntime(31390): at android.os.AsyncTask$2.call(AsyncTask.java:287)
01-14 19:40:13.906: E/AndroidRuntime(31390): at java.util.concurrent.FutureTask.run(FutureTask.java:234)
01-14 19:40:13.906: E/AndroidRuntime(31390): ... 4 more
01-14 19:40:14.166: D/qdmemalloc(31390): ion: Unmap buf base:0x6cc53000 size:1216512
01-14 19:40:14.166: D/qdmemalloc(31390): ion: Unmap buf base:0x6ca4d000 size:4096
01-14 19:40:14.166: D/qdmemalloc(31390): ion: Unmap buf base:0x6d88e000 size:1216512
01-14 19:40:14.166: D/qdmemalloc(31390): ion: Unmap buf base:0x6cb4c000 size:4096
01-14 19:40:14.166: D/qdmemalloc(31390): ion: Unmap buf base:0x6e1af000 size:1216512
01-14 19:40:14.166: D/qdmemalloc(31390): ion: Unmap buf base:0x6cb4e000 size:4096
01-14 19:40:14.186: D/qdmemalloc(31390): ion: Unmap buf base:0x6cf52000 size:8355840
01-14 19:40:14.186: D/qdmemalloc(31390): ion: Unmap buf base:0x6cb1f000 size:4096
01-14 19:40:14.186: D/qdmemalloc(31390): ion: Unmap buf base:0x6d9b7000 size:8355840
01-14 19:40:14.186: D/qdmemalloc(31390): ion: Unmap buf base:0x6cb4d000 size:4096
01-14 19:40:14.186: D/qdmemalloc(31390): ion: Unmap buf base:0x6e3d8000 size:8355840
01-14 19:40:14.186: D/qdmemalloc(31390): ion: Unmap buf base:0x6cb4f000 size:4096
01-14 19:40:14.226: E/WindowManager(31390): Activity com.example.apparty.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{41b092c0 V.E..... R......D 0,0-1026,288} that was originally added here
01-14 19:40:14.226: E/WindowManager(31390): android.view.WindowLeaked: Activity com.example.apparty.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{41b092c0 V.E..... R......D 0,0- 1026,288} that was originally added here
01-14 19:40:14.226: E/WindowManager(31390): at android.view.ViewRootImpl.<init> (ViewRootImpl.java:394)
01-14 19:40:14.226: E/WindowManager(31390): at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:239)
01-14 19:40:14.226: E/WindowManager(31390): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:94)
01-14 19:40:14.226: E/WindowManager(31390): at android.app.Dialog.show(Dialog.java:286)
01-14 19:40:14.226: E/WindowManager(31390): at com.example.apparty.TabDiscotecas$LoadAllProducts.onPreExecute(TabDiscotecas.java:143)
01-14 19:40:14.226: E/WindowManager(31390): at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:586)
01-14 19:40:14.226: E/WindowManager(31390): at android.os.AsyncTask.execute(AsyncTask.java:534)
01-14 19:40:14.226: E/WindowManager(31390): at com.example.apparty.TabDiscotecas.onCreate(TabDiscotecas.java:82)
01-14 19:40:14.226: E/WindowManager(31390): at android.app.Activity.performCreate(Activity.java:5195)
01-14 19:40:14.226: E/WindowManager(31390): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1111)
01-14 19:40:14.226: E/WindowManager(31390): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2473)
01-14 19:40:14.226: E/WindowManager(31390): at android.app.ActivityThread.startActivityNow(ActivityThread.java:2298)
01-14 19:40:14.226: E/WindowManager(31390): at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:135)
01-14 19:40:14.226: E/WindowManager(31390): at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:347)
01-14 19:40:14.226: E/WindowManager(31390): at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:759)
01-14 19:40:14.226: E/WindowManager(31390): at vandroid.widget.TabHost.setCurrentTab(TabHost.java:413)
01-14 19:40:14.226: E/WindowManager(31390): at android.widget.TabHost.addTab(TabHost.java:240)
01-14 19:40:14.226: E/WindowManager(31390): at com.example.apparty.MainActivity.onCreate(MainActivity.java:88)
01-14 19:40:14.226: E/WindowManager(31390): at android.app.Activity.performCreate(Activity.java:5195)
01-14 19:40:14.226: E/WindowManager(31390): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1111)
01-14 19:40:14.226: E/WindowManager(31390): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2473)
01-14 19:40:14.226: E/WindowManager(31390): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2574)
01-14 19:40:14.226: E/WindowManager(31390): at android.app.ActivityThread.access$600(ActivityThread.java:162)
01-14 19:40:14.226: E/WindowManager(31390): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1413)
01-14 19:40:14.226: E/WindowManager(31390): at android.os.Handler.dispatchMessage(Handler.java:99)
01-14 19:40:14.226: E/WindowManager(31390): at android.os.Looper.loop(Looper.java:158)
01-14 19:40:14.226: E/WindowManager(31390): at android.app.ActivityThread.main(ActivityThread.java:5789)
01-14 19:40:14.226: E/WindowManager(31390): at java.lang.reflect.Method.invokeNative(Native Method)
01-14 19:40:14.226: E/WindowManager(31390): at java.lang.reflect.Method.invoke(Method.java:525)
01-14 19:40:14.226: E/WindowManager(31390): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027)
01-14 19:40:14.226: E/WindowManager(31390): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:843)
01-14 19:40:14.226: E/WindowManager(31390): at dalvik.system.NativeStart.main(Native Method)
我也尝试声明drawable[]imagenes,但没有办法。。。稍后,我将其传递给适配器,我该怎么办?我认为这是因为您的URL格式不正确或其他一些错误,可能是IO,它抛出错误并跳过您分配的bmp的位置,该位置保持为空。显示您的doInBackground,您在那里得到NullPointerException!!TabDiscotecas.java中第195行是什么?在eclipse中双击logcat行将跳转到发生错误的行。195:imagenes.addbmp;您初始化了imagenes列表了吗?我刚刚声明ArrayList imagenes;我该怎么开始呢?有必要使用arraylist吗?很抱歉,如果这是一个愚蠢的问题,我会尝试使用一个代码,然后添加:ArrayList imagenes;imagenes.addbmp;和崩溃,但图像是向下的,因为如果我注释imagenes.addbmp它显示的图像:imgLogo.setimagebitmappbmp@用户3137833将imagenes初始化为:ArrayList imagenes=new ArrayList;没问题。当您只声明一个变量而不初始化它时,所有对象的默认值都为null。这就是为什么必须使用默认构造函数初始化它。