in my project i'm stored my drawable images in array like this
int[] mLocIds = new int[]{R.mipmap.ic_sticker_01, R.mipmap.ic_sticker_02, R.mipmap.ic_sticker_03,
R.mipmap.ic_sticker_04, R.mipmap.ic_sticker_05, R.mipmap.ic_sticker_06, R.mipmap.ic_sticker_07,
R.mipmap.ic_sticker_08};
and here is my array :
List<StickerView> mStickers = new ArrayList<>();
But i want to show images from url(getting url in database), but my GalleryAdapter allows int array :
public class GalleryAdapter extends RecyclerView.Adapter<GalleryAdapter.ViewHolder> implements View.OnClickListener {
private int[] mResIds;
private int[] mLocIds;
public GalleryAdapter(int[] resIds) {
this.mResIds = resIds;
}
private OnRecyclerViewItemClickListener mOnItemClickListener = null;
public interface OnRecyclerViewItemClickListener {
void onItemClick(View view, int resId);
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) {
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.item_gallery, viewGroup, false);
ViewHolder vh = new ViewHolder(view);
view.setOnClickListener(this);
return vh;
}
@Override
public void onBindViewHolder(ViewHolder viewHolder, int position) {
viewHolder.imageView.setImageResource(mResIds[position]);
viewHolder.itemView.setTag(mResIds[position]);
}
@Override
public void onClick(View v) {
if (mOnItemClickListener != null) {
mOnItemClickListener.onItemClick(v, (Integer) v.getTag());
}
}
public void setOnItemClickListener(OnRecyclerViewItemClickListener listener) {
this.mOnItemClickListener = listener;
}
@Override
public int getItemCount() {
return mResIds.length;
}
public static class ViewHolder extends RecyclerView.ViewHolder {
public ImageView imageView;
public ViewHolder(View view) {
super(view);
imageView = (ImageView) view.findViewById(R.id.item_sticker);
}
}
public void setData(int[] mLocIds) {
this.mResIds = mLocIds;
notifyDataSetChanged();
}
public void setDataStandart(int[] mResIds) {
this.mResIds = mResIds;
notifyDataSetChanged();
}
}
I found this solution but it is not clear how to use this:
public void setBitmaps(Bitmap... bitmaps) {
for (int i = 0; i < mImageViews.length; i++) {
mImageViews[i].setImageBitmap(bitmaps[i]);
}
}
I know, i will be update my Activity and firstly download bitmap and than store bitmap in array but how can i do this? Thanks for help.