이미지를 불러왔을 때 배열에 저장하실거잖아요?
그럼 예를 들어서
리스트 선언을
private List<Uri> nList;
그리고 초기화
nList = new ArrayList<>();
만약 이미지 최대 5개까지 선택해서 넣는다면(리사이클러뷰 기준)
mBinding.layoutAddPhoto.setOnClickListener(v ->
{
if (nList.size() < 5) {
TedImagePicker.with(mContext)
.max(5 - nList.size(), "(최대5장)")
.startMultiImage(list -> {
showMultiImage(list);
});
} else {
toast("(최대5장)");
}
}
);
이렇게 이벤트 주세요 TedImagePicker 쓰면 편합니다 다중이미지 선택시
private void showMultiImage(List<? extends Uri> list) {
for (int i = 0; i < list.size(); i++) {
nList.add(list.get(i));
}
mAdapter.update(nList);
mBinding.recyclerView.scheduleLayoutAnimation();
mBinding.tvPhotoCnt.setText(nList.size() + "/5");
}
그리고 안에 있는 showMultiImage 여기서 제어하면 되고
저기서 선택한 사진들은 nList에 담기겠죠.
만약에 이미지를 선택 안했다면 nList.size() ==0 이므로
if(nList.size() == 0) {
mBinding.img.setVisibility(GONE);
}
이런식으로 처리하면 될거같아요