Android 具有一个适配器的多个gridview
我正在制作一个应用程序,在我的活动中有很多图片。我有11个gridview。问题是对于每个gridview,我必须制作一个新的适配器来填充图像我正在寻找一种方法来填充每个gridview,使用一个适配器来显示不同的图像堆栈!有没有可能我是android新手,所以我不知道该搜索什么 谢谢 编辑:这是我的一个适配器的代码Android 具有一个适配器的多个gridview,android,android-layout,gridview,android-gridview,Android,Android Layout,Gridview,Android Gridview,我正在制作一个应用程序,在我的活动中有很多图片。我有11个gridview。问题是对于每个gridview,我必须制作一个新的适配器来填充图像我正在寻找一种方法来填充每个gridview,使用一个适配器来显示不同的图像堆栈!有没有可能我是android新手,所以我不知道该搜索什么 谢谢 编辑:这是我的一个适配器的代码 public View getView(int position, View convertView, ViewGroup parent) { 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;
}
private Integer[] mThumbIds = {
R.drawable.pic76, R.drawable.pic87,
R.drawable.pic77, R.drawable.pic88,
R.drawable.pic78, R.drawable.pic89,
R.drawable.pic79, R.drawable.pic90,
R.drawable.pic80, R.drawable.pic91,
R.drawable.pic81, R.drawable.pic82,
R.drawable.pic82,
R.drawable.pic83,
R.drawable.pic84,
R.drawable.pic85,
R.drawable.pic86
};
你可以看到我已经硬编码了我的图像,有什么理由这样做吗
如果griview==“first”则为11个网格视图?为什么?这都是一种观点吗?您不能在多个适配器视图上共享适配器实例,这是非常不推荐/不可能的
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View row = convertView;
RecordHolder holder = null;
if (row == null) {
LayoutInflater inflater = ((Activity) context).getLayoutInflater();
row = inflater.inflate(layoutResourceId, parent, false);
holder = new RecordHolder();
holder.imageItem = (ImageView) row.findViewById(R.id.item_image);
row.setTag(holder);
} else {
holder = (RecordHolder) row.getTag();
}
holder.imageItem.setImageBitmap(data.get(position));
return row;
}
要为网格视图实现自定义适配器,您需要在适配器中实现getView方法,在该方法中,您必须传递int位置,该位置用于传递数组或列表以从中创建适配器
所以,您所能做的就是将您的逻辑放在使用position填充适配器的位置
你能做到
或者在这里分享你的代码,让我看看
谢谢。您可以使用以下工具创建不同类型的视图:
@Override
public int getItemViewType(int position) {
return 1; //your type info here
}
所以适配器中的每个元素都可以有不同的视图。只需在getView方法中进行一些切换。
记住还要覆盖getViewTypeCount,以便适配器知道您有多少类型。您的11 gridview是否具有相同的属性?相同的列数、相同的参数等?是相同的列数相同的参数,但每个显示不同的图像