If I set color filter on ivOld
, other one ivNew
will change filter too. How to prevent it?
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Photo photo = (Photo) adapterView.getItemAtPosition(i);
ImageView ivOld = (ImageView) ((LinearLayout) view).getChildAt(0);
if (!photo.isSelected()) {
mPhotos.get(i).setSelected(true); // установить флажек глобальном массиве
ivOld.add(photo); // добавить фото в массив выбранных
ivOld.setEnabled(false); // отклчаем вызможность выбирать
ivOld.getDrawable().setColorFilter(new PorterDuffColorFilter(Color.DKGRAY, PorterDuff.Mode.MULTIPLY)); // налагаем фильтр
//создание нового фото в выбранных
ImageView ivNew = getImageView(this);
Glide.with(this).load(photo.getPhotoPath()).centerCrop().into(ivNew);
ivNew.clearColorFilter();
//ivNew.getDrawable().clearColorFilter();
ivNew.setTag(new PhotosAdapter.ViewHolder(photo, ivSelecting));
ivNew.setOnClickListener(this);
mLinearLayout.addView(ivNew);
}
}
private ImageView getImageView(Context context) {
ImageView iv = new ImageView(context);
iv.setScaleType(ImageView.ScaleType.FIT_CENTER);
iv.setLayoutParams(new GridView.LayoutParams(mPicWidth, mPicWidth));
return iv;
}