Android-数组存在问题

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

当我试图在Async任务中保存下载的图像时,在活动中:

                    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。这就是为什么必须使用默认构造函数初始化它。