当我以编程方式更改图像时,它会在布局文件中最初设置的旧图像上显示新图像?
这是我的布局文件的一个片段:
<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>
以及设置imageView的代码:
@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);
}
});
我遗漏了什么?
发布于 2013-06-04 06:03:11
这是因为您设置的是ImageView
的src,而不是背景。
改用下面的代码:
qImageView.setBackgroundResource(R.drawable.thumbs_down);
Here是一个讨论这两种方法之间差异的帖子。
发布于 2016-01-19 21:28:53
在XML中使用:
android:src="@drawable/image"
源代码使用:
imageView.setImageDrawable(ContextCompat.getDrawable(activity, R.drawable.your_image));
发布于 2016-02-29 17:07:05
qImageView.setImageResource(R.drawable.img2);
我想这会对你有帮助
https://stackoverflow.com/questions/16906528
复制相似问题