gridview динамически добавить картинку

Рейтинг: 1Ответов: 1Опубликовано: 27.04.2015

есть такая разметка

<GridView xmlns:android="http://schemas.android.com/apk/res/android"
      android:id="@+id/grid_view"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:columnWidth="90dp"
      android:gravity="center"
      android:horizontalSpacing="10dp"
      android:numColumns="auto_fit"
      android:stretchMode="columnWidth"
      android:verticalSpacing="10dp">

есть такой адаптер

public class ImageAdapter extends BaseAdapter {

private Context mContext = null;
private ArrayList<Bitmap> mBitmaps = null;
private ImageView mImageViewHolder = null;

public ImageAdapter(Context context, ArrayList<Bitmap> imageViews) {
    mContext = context;
    mBitmaps = imageViews;
}

@Override
public int getCount() {
    return mBitmaps.size();
}

@Override
public Object getItem(int position) {
    return mBitmaps.get(position);
}

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

@Override
public View getView(int position, View convertView, ViewGroup parent) {

    if(convertView == null) {
        mImageViewHolder = new ImageView(mContext);
        mImageViewHolder.setScaleType(ImageView.ScaleType.CENTER_CROP);
        mImageViewHolder.setLayoutParams(new GridView.LayoutParams(180, 150));
    }
    else {
        mImageViewHolder = (ImageView)convertView;
    }
    mImageViewHolder.setImageBitmap(mBitmaps.get(position));

    return mImageViewHolder;
}

}

как сделать чтобы можно было добавлять динамически картинку или удалить ?

Ответы

▲ 4Принят

добавить в ImageAdapter метод вроде

public void addItem(Bitmap item) {
    mBitmaps.add(item);
    notifyDatasetChanged();
}

Фишка тут именно в notifyDatasetChanged(); Этот метод заставит адаптер применить изменения.