首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Android中以编程方式更改ImageView的图像

在Android中以编程方式更改ImageView的图像
EN

Stack Overflow用户
提问于 2013-06-04 05:58:05
回答 6查看 291.8K关注 0票数 133

当我以编程方式更改图像‎时,它会在布局文件中最初设置的旧图像上显示新图像?

这是我的布局文件的一个片段:

代码语言:javascript
复制
<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的代码:

代码语言:javascript
复制
     @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);

                       }
                   });

我遗漏了什么?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2013-06-04 06:03:11

这是因为您设置的是ImageView的src,而不是背景。

改用下面的代码:

代码语言:javascript
复制
qImageView.setBackgroundResource(R.drawable.thumbs_down);

Here是一个讨论这两种方法之间差异的帖子。

票数 210
EN

Stack Overflow用户

发布于 2016-01-19 21:28:53

在XML中使用:

代码语言:javascript
复制
android:src="@drawable/image"

源代码使用:

代码语言:javascript
复制
imageView.setImageDrawable(ContextCompat.getDrawable(activity, R.drawable.your_image));
票数 92
EN

Stack Overflow用户

发布于 2016-02-29 17:07:05

代码语言:javascript
复制
qImageView.setImageResource(R.drawable.img2);

我想这会对你有帮助

票数 30
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16906528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档