Android:尝试为gallery view构建自定义适配器,并在运行时动态向其中添加图像
我正在尝试使用图库视图显示用户选择的图片。我从BaseAdapeter(见下文)构建了一个自定义适配器来存储自定义的“Pic”对象,每个对象存储一个位图和图像的路径。当活动启动时,适配器将在没有任何图片的情况下创建,当用户选择图像时,我将向适配器添加一个图片,并将适配器重置为图库(见下文)。事实上发生的一切都无关紧要。没有错误或任何东西,但当将Pic添加到适配器并重置时,gallery不会更新和显示图像。我将发布完整的适配器代码以及添加Pic并重置适配器的方法。任何帮助都将不胜感激,或者如果我做错了,请适当地指导我。提前谢谢 我创建的GalleryImage适配器:Android:尝试为gallery view构建自定义适配器,并在运行时动态向其中添加图像,android,gallery,adapter,Android,Gallery,Adapter,我正在尝试使用图库视图显示用户选择的图片。我从BaseAdapeter(见下文)构建了一个自定义适配器来存储自定义的“Pic”对象,每个对象存储一个位图和图像的路径。当活动启动时,适配器将在没有任何图片的情况下创建,当用户选择图像时,我将向适配器添加一个图片,并将适配器重置为图库(见下文)。事实上发生的一切都无关紧要。没有错误或任何东西,但当将Pic添加到适配器并重置时,gallery不会更新和显示图像。我将发布完整的适配器代码以及添加Pic并重置适配器的方法。任何帮助都将不胜感激,或者如果我做
public class GalleryImageAdapter extends BaseAdapter implements Serializable {
private Context mContext;
private List<Pic> pictures;
public GalleryImageAdapter(Context context)
{
mContext = context;
pictures = new ArrayList<Pic>();
}
public void addPicture(Pic p){
pictures.add(p);
}
public void removePicture(Pic p){
pictures.remove(p);
}
public int getCount() {
return pictures.size();
}
public List<Pic> getAll(){
return pictures;
}
public Object getItem(int position) {
if (pictures.size() > position){
return pictures.get(position);
}
else{
return position;
}
}
public long getItemId(int position) {
return position;
}
// Override this method according to your need
public View getView(int index, View view, ViewGroup viewGroup)
{
// TODO Auto-generated method stub
ImageView i = new ImageView(mContext);
i.setImageBitmap(pictures.get(index).getImage());
i.setLayoutParams(new Gallery.LayoutParams(200, 200));
i.setScaleType(ImageView.ScaleType.FIT_XY);
return i;
}
}
Gallery已被弃用,您应该考虑使用或。在上面的链接中有一个使用适配器的ViewPager的好例子。对于HorizontalScrollView,您只需膨胀视图并调用horiztonalscrollview.addView(查看您的视图)即可在运行时添加内容
private void AddNewAfterSelection(Pic pic){
giAdapter.addPicture(pic);
gallery1.setAdapter(giAdapter);
}