0

我正在尝试遵循有关构建 GridView 布局的教程,但是我看到上下文被传递给图像适配器,我不想复制代码或只是在不知道为什么要完成的情况下重新键入它,所以我想知道它为什么被传递。我对它是关于应用程序或其环境的信息有基本的了解。

import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;

public class ImageAdapter extends BaseAdapter {
private Context mContext;

// Keep all Images in array
public Integer[] mThumbIds = {
        R.drawable.pic_1, R.drawable.pic_2,
        R.drawable.pic_3, R.drawable.pic_4,
        R.drawable.pic_5, R.drawable.pic_6,
        R.drawable.pic_7, R.drawable.pic_8,
        R.drawable.pic_9, R.drawable.pic_10,
        R.drawable.pic_11, R.drawable.pic_12,
        R.drawable.pic_13, R.drawable.pic_14,
        R.drawable.pic_15
};

// Constructor
public ImageAdapter(Context c){
    mContext = c;
}

@Override
public int getCount() {
    return mThumbIds.length;
}

@Override
public Object getItem(int position) {
    return mThumbIds[position];
}

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

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    ImageView imageView = new ImageView(mContext);
    imageView.setImageResource(mThumbIds[position]);
    imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
    imageView.setLayoutParams(new GridView.LayoutParams(70, 70));
    return imageView;
}

}
4

2 回答 2

0

ImageAdapter 将上下文存储在其构造函数中的 mContext 中,因为 ImageView 构造函数稍后需要它在自己的构造函数中。ImageView 和所有视图一样,需要一个上下文,通过它可以访问当前的主题、资源等。

于 2012-06-23T05:17:33.803 回答
0

检查此链接以获取更多信息上下文信息以获取详细信息为什么它用于不同目的如果想查看上下文类上下文类也请检查此链接

于 2012-06-23T05:28:28.113 回答