Android上的GridView适配器(错误)

Sk8eR

调用适配器时出现错误:

在我的主班我有:

    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.discotecas_layout);

    // Hashmap for ListView
    discotecaslist = new ArrayList<HashMap<String, String>>();
    gridView = (GridView) findViewById(R.id.gridview);
            // Loading products in Background Thread
    new LoadAllProducts().execute();

在后台,我在后执行此操作:

  protected void onPostExecute(String file_url) {
    // dismiss the dialog after getting all products
      pDialog.dismiss();
      gridView.setAdapter(new Gridadapter(activity.this, imagenes));
      // updating UI from Background Thread
   }

我的适配器是这样的:

public class Gridadapter extends BaseAdapter {

    private Context mContext;
    private Bitmap[] imagenes;

    public Gridadapter(Context c, Bitmap[] imagenes) {
        this.mContext = c;
        this.imagenes = imagenes;
    }

    public int getCount() {
        return imagenes.length;
    }

    public Object getItem(int position) {
        return null;
    }

    public long getItemId(int position) {
        return 0;
    }

    public View getView(int position, View convertView, ViewGroup parent) {
        ImageView imageView;
        if (convertView == null) {
            imageView = new ImageView(mContext);
            imageView.setLayoutParams(new GridView.LayoutParams(200, 150));
            imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
            imageView.setPadding(0, 0, 0, 0);
        } else {
            imageView = (ImageView) convertView;
        }
        imageView.setImageBitmap(imagenes[position]);
        return imageView;
    }

}

我做错了什么?我认为它与适配器有关,但我不知道是什么

错误是:

01-14 18:32:20.149: E/AndroidRuntime(16322): FATAL EXCEPTION: AsyncTask #1
01-14 18:32:20.149: E/AndroidRuntime(16322): java.lang.RuntimeException: An error occured while executing doInBackground()
01-14 18:32:20.149: E/AndroidRuntime(16322):    at android.os.AsyncTask$3.done(AsyncTask.java:299)
01-14 18:32:20.149: E/AndroidRuntime(16322):    at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
01-14 18:32:20.149: E/AndroidRuntime(16322):    at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
01-14 18:32:20.149: E/AndroidRuntime(16322):    at java.util.concurrent.FutureTask.run(FutureTask.java:239)
01-14 18:32:20.149: E/AndroidRuntime(16322):    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
01-14 18:32:20.149: E/AndroidRuntime(16322):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
01-14 18:32:20.149: E/AndroidRuntime(16322):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
01-14 18:32:20.149: E/AndroidRuntime(16322):    at java.lang.Thread.run(Thread.java:864)
01-14 18:32:20.149: E/AndroidRuntime(16322): Caused by: java.lang.NullPointerException
01-14 18:32:20.149: E/AndroidRuntime(16322):    at com.example.apparty.TabDiscotecas$LoadAllProducts.doInBackground(TabDiscotecas.java:192)
01-14 18:32:20.149: E/AndroidRuntime(16322):    at com.example.apparty.TabDiscotecas$LoadAllProducts.doInBackground(TabDiscotecas.java:1)
01-14 18:32:20.149: E/AndroidRuntime(16322):    at android.os.AsyncTask$2.call(AsyncTask.java:287)
01-14 18:32:20.149: E/AndroidRuntime(16322):    at java.util.concurrent.FutureTask.run(FutureTask.java:234)
01-14 18:32:20.149: E/AndroidRuntime(16322):    ... 4 more
01-14 18:32:20.399: D/qdmemalloc(16322): ion: Unmap buf  base:0x6cd53000 size:1216512
01-14 18:32:20.399: D/qdmemalloc(16322): ion: Unmap buf  base:0x6cadc000 size:4096
01-14 18:32:20.399: D/qdmemalloc(16322): ion: Unmap buf  base:0x6d98e000 size:1216512
01-14 18:32:20.399: D/qdmemalloc(16322): ion: Unmap buf  base:0x6cbfd000 size:4096
01-14 18:32:20.399: D/qdmemalloc(16322): ion: Unmap buf  base:0x6e2af000 size:1216512
01-14 18:32:20.399: D/qdmemalloc(16322): ion: Unmap buf  base:0x6cbff000 size:4096
01-14 18:32:20.409: D/qdmemalloc(16322): ion: Unmap buf  base:0x6d052000 size:8355840
01-14 18:32:20.409: D/qdmemalloc(16322): ion: Unmap buf  base:0x6cb3e000 size:4096
01-14 18:32:20.409: D/qdmemalloc(16322): ion: Unmap buf  base:0x6dab7000 size:8355840
01-14 18:32:20.409: D/qdmemalloc(16322): ion: Unmap buf  base:0x6cbfe000 size:4096
01-14 18:32:20.409: D/qdmemalloc(16322): ion: Unmap buf  base:0x6e3d8000 size:8355840
01-14 18:32:20.409: D/qdmemalloc(16322): ion: Unmap buf  base:0x6cc26000 size:4096
01-14 18:32:20.439: E/WindowManager(16322): Activity com.example.apparty.MainActivity    has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{41b0c038 V.E..... R......D 0,0-1026,288} that was originally added here
01-14 18:32:20.439: E/WindowManager(16322): android.view.WindowLeaked: Activity com.example.apparty.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{41b0c038 V.E..... R......D 0,0-1026,288} that was originally added here
01-14 18:32:20.439: E/WindowManager(16322):     at android.view.ViewRootImpl.<init>(ViewRootImpl.java:394)
01-14 18:32:20.439: E/WindowManager(16322):     at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:239)
01-14 18:32:20.439: E/WindowManager(16322):     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:94)
01-14 18:32:20.439: E/WindowManager(16322):     at android.app.Dialog.show(Dialog.java:286)
01-14 18:32:20.439: E/WindowManager(16322):     at com.example.apparty.TabDiscotecas$LoadAllProducts.onPreExecute(TabDiscotecas.java:142)
01-14 18:32:20.439: E/WindowManager(16322):     at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:586)
01-14 18:32:20.439: E/WindowManager(16322):     at android.os.AsyncTask.execute(AsyncTask.java:534)
01-14 18:32:20.439: E/WindowManager(16322):     at com.example.apparty.TabDiscotecas.onCreate(TabDiscotecas.java:81)
01-14 18:32:20.439: E/WindowManager(16322):     at android.app.Activity.performCreate(Activity.java:5195)
01-14 18:32:20.439: E/WindowManager(16322):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1111)
01-14 18:32:20.439: E/WindowManager(16322):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2473)
01-14 18:32:20.439: E/WindowManager(16322):     at android.app.ActivityThread.startActivityNow(ActivityThread.java:2298)
01-14 18:32:20.439: E/WindowManager(16322):     at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:135)
01-14 18:32:20.439: E/WindowManager(16322):     at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:347)
01-14 18:32:20.439: E/WindowManager(16322):     at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:759)
01-14 18:32:20.439: E/WindowManager(16322):     at android.widget.TabHost.setCurrentTab(TabHost.java:413)
01-14 18:32:20.439: E/WindowManager(16322):     at android.widget.TabHost.addTab(TabHost.java:240)
01-14 18:32:20.439: E/WindowManager(16322):     at com.example.apparty.MainActivity.onCreate(MainActivity.java:88)
01-14 18:32:20.439: E/WindowManager(16322):     at android.app.Activity.performCreate(Activity.java:5195)
01-14 18:32:20.439: E/WindowManager(16322):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1111)
01-14 18:32:20.439: E/WindowManager(16322):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2473)
01-14 18:32:20.439: E/WindowManager(16322):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2574)
01-14 18:32:20.439: E/WindowManager(16322):     at android.app.ActivityThread.access$600(ActivityThread.java:162)
01-14 18:32:20.439: E/WindowManager(16322):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1413)
01-14 18:32:20.439: E/WindowManager(16322):     at android.os.Handler.dispatchMessage(Handler.java:99)
01-14 18:32:20.439: E/WindowManager(16322):     at android.os.Looper.loop(Looper.java:158)
01-14 18:32:20.439: E/WindowManager(16322):     at android.app.ActivityThread.main(ActivityThread.java:5789)
01-14 18:32:20.439: E/WindowManager(16322):     at java.lang.reflect.Method.invokeNative(Native Method)
01-14 18:32:20.439: E/WindowManager(16322):     at java.lang.reflect.Method.invoke(Method.java:525)
01-14 18:32:20.439: E/WindowManager(16322):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027)
01-14 18:32:20.439: E/WindowManager(16322):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:843)
01-14 18:32:20.439: E/WindowManager(16322):     at dalvik.system.NativeStart.main(Native Method)
绊倒

看起来不像是适配器的错误,而是图像的加载有问题,因为错误的最后一行来自

com.example.apparty.TabDiscotecas$LoadAllProducts.onPostExecute(TabDiscotecas.java:232)

可能想先检查那里,如果加载失败,那么您传递给适配器的图像阵列可能为null

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android适配器布局错误

来自分类Dev

Android适配器布局错误

来自分类Dev

用于GridView的Android文本和图像适配器的片段

来自分类Dev

Android使用适配器从GridView获取视图

来自分类Dev

Android使用适配器从GridView获取视图

来自分类Dev

Android:如何使GridView充满2个适配器

来自分类Dev

Android自定义适配器-错误项目上的动画

来自分类Dev

Android基础适配器

来自分类Dev

Android阵列适配器选择了错误的ID

来自分类Dev

Android,适配器中的RelativeLayout导致错误

来自分类Dev

Android Studio奇怪的微调器适配器错误

来自分类Dev

参数错误android自定义适配器

来自分类Dev

Android Firebase 列表适配器构造函数错误

来自分类Dev

在Android上,如何从领域列表构建领域适配器?

来自分类Dev

适配器无法在Android上从JSON加载图像

来自分类Dev

在Android上,如何从领域列表构建领域适配器?

来自分类Dev

Android从活动更改RecyclerView适配器上的TextView textSize

来自分类Dev

gridview适配器空指针异常

来自分类Dev

GridView适配器无法正常工作

来自分类Dev

将数据传递给适配器时,片段中的 Gridview 出现错误

来自分类Dev

如何在LayoutInflater上显示和获取选择gridView使用适配器

来自分类Dev

TNS:协议适配器错误

来自分类Dev

sqlplus的协议适配器错误

来自分类Dev

Biztalk Sharepoint适配器权限错误

来自分类Dev

使适配器变量时错误GetData()

来自分类Dev

错误检测到 WiFi 适配器

来自分类Dev

在Recyclerview适配器上设置notifyDataSetChanged()

来自分类Dev

ipconfig上的隧道适配器?

来自分类Dev

10.04上的无线USB适配器