Works perfectly fine (different color accoring to “shared”):
<code>while() {
ImageView iv = new ImageView(requireContext());
iv.setImageResource(android.R.drawable.ic_menu_share);
if(shared > 0) {
ImageViewCompat.setImageTintList(iv, ColorStateList.valueOf(Color.parseColor("#000000")));
}
}
</code>
<code>while() {
ImageView iv = new ImageView(requireContext());
iv.setImageResource(android.R.drawable.ic_menu_share);
if(shared > 0) {
ImageViewCompat.setImageTintList(iv, ColorStateList.valueOf(Color.parseColor("#000000")));
}
}
</code>
while() {
ImageView iv = new ImageView(requireContext());
iv.setImageResource(android.R.drawable.ic_menu_share);
if(shared > 0) {
ImageViewCompat.setImageTintList(iv, ColorStateList.valueOf(Color.parseColor("#000000")));
}
}
All ImageViews have same color (same as the last ImageView):
<code>while() {
ImageView iv = new ImageView(requireContext());
iv.setImageDrawable(IconsCache.whatever.mutate());
if(shared > 0) {
Log(black);
ImageViewCompat.setImageTintList(iv, ColorStateList.valueOf(Color.parseColor("#000000")));
} else {
Log(white);
ImageViewCompat.setImageTintList(iv, ColorStateList.valueOf(Color.parseColor("#ffffff")));
}
}
</code>
<code>while() {
ImageView iv = new ImageView(requireContext());
iv.setImageDrawable(IconsCache.whatever.mutate());
if(shared > 0) {
Log(black);
ImageViewCompat.setImageTintList(iv, ColorStateList.valueOf(Color.parseColor("#000000")));
} else {
Log(white);
ImageViewCompat.setImageTintList(iv, ColorStateList.valueOf(Color.parseColor("#ffffff")));
}
}
</code>
while() {
ImageView iv = new ImageView(requireContext());
iv.setImageDrawable(IconsCache.whatever.mutate());
if(shared > 0) {
Log(black);
ImageViewCompat.setImageTintList(iv, ColorStateList.valueOf(Color.parseColor("#000000")));
} else {
Log(white);
ImageViewCompat.setImageTintList(iv, ColorStateList.valueOf(Color.parseColor("#ffffff")));
}
}
Why on earth is that even possible when i’m using mutate()?
1