Android Gridview项目未充气?
为适配器引用的每个项目创建一个新的Android Gridview项目未充气?,android,gridview,android-arrayadapter,Android,Gridview,Android Arrayadapter,为适配器引用的每个项目创建一个新的ImageView public View getView(int position, View convertView, ViewGroup parent) { ImageView imageView; if (convertView == null) { // if it's not recycled, initialize some attributes imageView
ImageView
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if (convertView == null) {
// if it's not recycled, initialize some attributes
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(8, 8, 8, 8);
} else {
imageView = (ImageView) convertView;
}
imageView.setImageResource(mThumbIds[position]);
return imageView;
}
这是从
如果为空,则不会扩大视图。但是要在gridview中添加自定义项,我们正在扩大视图…get tag和set tag在哪里?get tag和set tag需要什么?如果我错了,请纠正我。但是代码与网站中给出的代码一样工作正常。但是我在这里没有看到任何膨胀。@ashwin
mThumbIds
的长度是多少?你可以发布你的代码发布你的适配器plz…代码直接来自,但当布局仅包含图像视图时,视图不会膨胀…但当它同时包含文本和图像时,如果为空,则会膨胀以获得新视图…它们之间的区别是什么??
public class GridAdapter extends BaseAdapter
{
private Context context;
private LayoutInflater layoutInflator;
private Integer[] mThumbnails
= {R.drawable.kunfu1,R.drawable.kunfu2,R.drawable.kunfu3,R.drawable.kunfu4};
public GridAdapter(Context c){
context = c;
layoutInflator = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
public View getView(int position, View grid, ViewGroup parent){
ImageView imageView;
if(grid == null) {
grid = layoutInflator.inflate(R.layout.mdv_grid_item, null);
imageView = (ImageView)grid.findViewById(R.id.grid_item);
grid.setTag(imageView);
}else{
imageView = (ImageView)grid.getTag();
}
imageView.setImageResource(mThumbnails[position]);
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
return grid;
}
}