Ответ 1
Это происходит потому, что вы устанавливаете src ImageView
вместо фона.
Используйте это вместо:
qImageView.setBackgroundResource(R.drawable.thumbs_down);
Здесь поток, который говорит о различиях между этими двумя методами.
Когда я изменяю изображение программным образом, он показывает новое изображение поверх старого изображения, которое изначально было установлено в файле макета?
Вот фрагмент моего файла макета:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="39dp"
android:gravity="center_vertical" >
<ImageView
android:id="@+id/qStatusImage"
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_margin="5dp"
android:background="@drawable/thumbs_down"
/>
<TextView
android:id="@+id/grp_child"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textColor="@color/radio_colors"
android:textStyle="normal"
android:background="@color/grey"
/>
</LinearLayout>
И код, который устанавливает изображениеView:
@Override
public View getChildView(final int groupPosition, final int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
//Answers
if(answersGroup != null)
answersGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// int index = answersGroup.indexOfChild(findViewById(answersGroup.getCheckedRadioButtonId()));
qImageView = (ImageView) V.findViewById(R.id.qStatusImage);
if(ans ==0 || ans == 5){
// qSV.setImageResource(0);
qImageView.setImageResource(R.drawable.thumbs_up);
}
else
qImageView.setImageResource(R.drawable.thumbs_down);
}
});
Что мне не хватает?
Это происходит потому, что вы устанавливаете src ImageView
вместо фона.
Используйте это вместо:
qImageView.setBackgroundResource(R.drawable.thumbs_down);
Здесь поток, который говорит о различиях между этими двумя методами.
Использовать в XML:
android:src="@drawable/image"
Использование источника:
imageView.setImageDrawable(ContextCompat.getDrawable(activity, R.drawable.your_image));
qImageView.setImageResource(R.drawable.img2);
Я думаю, это поможет вам
В вашем XML для представления изображения, где у вас есть android:background="@drawable/thumbs_down
измените это на android:src="@drawable/thumbs_down"
В настоящее время оно помещает это изображение в качестве фона для представления, а не фактическое изображение в нем.
В дизайне XML
android:background="@drawable/imagename
android:src="@drawable/imagename"
Рисованное изображение с помощью кода
imageview.setImageResource(R.drawable.imagename);
Изображение сервера
Glide.with(context).load(url) .placeholder(R.drawable.image)
.into(imageView);
Picasso.with(context).load(url) .placeholder(R.drawable.image)
.into(imageView);