In this code, there are two images in stickerList, which come from drawable resources and can be set into my ImageView perfectly. Now I want to pick images from the gallery (rather than specific hardcoded drawables) and set any image I want. A new image from gallery which will override the previous or main one. How can i do that?
    @Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
    }
    public class StickerAdapter extends RecyclerView.Adapter<StickerAdapter.ViewHolder> {
        int[] stickerList = new int[]{R.drawable.aa, R.drawable.bb};
        @Override
        public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
            View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.row_sticker, parent, false);
            return new ViewHolder(view);
        }
        @Override
        public void onBindViewHolder(ViewHolder holder, int position) {
            holder.imgSticker.setImageResource(stickerList[position]);
        }
        @Override
        public int getItemCount() {
            return stickerList.length;
        }
        class ViewHolder extends RecyclerView.ViewHolder {
            ImageView imgSticker;
            ViewHolder(View itemView) {
                super(itemView);
                imgSticker = itemView.findViewById(R.id.imgSticker);
                itemView.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        if (mStickerListener != null) {
                            mStickerListener.onStickerClick(
                                    BitmapFactory.decodeResource(getResources(),
                                            stickerList[getLayoutPosition()]));
                        }
                        dismiss();
                    }
                });
            }
        }
    }
 
    