java - android imageview.setBackgroundResource() 不工作

标签 java android image mobile imageview

我有一个应该在点击时更改的 ImageView

public class Settings extends Activity implements OnClickListener
{
     private ImageView im1;
     @Override
     public void onCreate(Bundle savedInstanceState)
     {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.settings);
         im1 = (ImageView) findViewById( R.id.imageView1 );
         im1.setOnClickListener(this);
     }
     @Override
     public void onClick(View v)
     {
         // TODO Auto-generated method stub
         if (v == im1 )
         {
             Log.d("test", "hey!");
             v.setBackgroundResource(R.drawable.img1);
         }
     }
}

单击时,该方法运行并打印出“嘿!”但是图像不会改变?

编辑:忘记提及 imageview 包含另一个由 xml 布局文件提供的图像

最佳答案

按照惯例,您应该使用 setImageResource(R.drawable.img1);(或 setImageDrawable(getResources().getDrawable(R.drawable.img1));) 而不是 setBackgroundResource(R.drawable.img1);

关于java - android imageview.setBackgroundResource() 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8592911/

相关文章:

java - 安卓资源文件

java - 重命名所有风格的类

java - 如何在 hibernate 中删除父实体并在子FK列中设置null?

Android GreenDAO 生成额外的 ID 属性

java - 滚动时两个 xml 发生变化的 ListView

java - 遍历最内层 for 循环内的元素

Android 什么是工具链兼容性问题?

javascript - 在 Openlayers3 中的图层上拖动、调整图像大小和旋转图像

java - 使用 Graphics2D 多次处理图像

image - 处理滤镜和颜色