我想知道是否有人知道如何设置适配器以一次填充GridView One单元格。我设法创建了一个自定义适配器,它将填充每个单元格,但我希望基于单击一次一个单元格。换句话说,单击按钮,图像将填充网格视图中的第一个单元格。再次按下按钮,图像将填充网格视图中的第二个单元格,依此类推。我的适配器代码如下所示。
public class ImageAdapter extends BaseAdapter {
private Context myContext;
public ImageAdapter(Context c) {
myContext = c;
}
public int getCount() {
return imageId;
}
public Object getItem(int position) {
return null;
}
public long getItemId(int position) {
return 0;
}
//Create a new ImageView for each Item referenced by the adapter
public View getView(int position, View convertView, ViewGroup parent) {
ImageView image;
if (convertView == null) {
//If Image is not Recycled, set these attributes
image = new ImageView(myContext);
image.setLayoutParams(new GridView.LayoutParams(85,85));
image.setScaleType(ImageView.ScaleType.CENTER_CROP);
image.setPadding(4,4,4,4);
} else {
image = (ImageView) convertView;
}
image.setImageResource(imageId);
return image;
}
//Reference to The Images
private Integer imageId =
R.drawable.red_ball;
}
答案 0 :(得分:0)
保留一个计数器并将其初始化为零。
在你的适配器中,如果位置小于计数器,则调用image.setImageResource(imageId),否则调用image.setImageDrawable(null)。
当您按下按钮时,递增计数器并调用adapter.notifyDatasetChanged()。