我有一个问题。我正在搜索如何从资源ID获取可绘制对象。我已经在stackoverflow上找到了一些ansers,例如这一个:How do you obtain a Drawable object from a resource id in android package?
但是出于某些原因,当我使用这段代码时,我总是得到相同的图像,而我的res/drawable
文件夹中有三张图像。我想我忽略了一件小事但却找不到问题。有人可以帮我查一下我的代码吗?
因此,当我将R.drawable.img_1
更改为R.drawable.img_2
时,图片不会发生变化。
以下是代码:
public class ShowPaintingActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_painting);
showImage();
}
public void showImage() {
Drawable d = ContextCompat.getDrawable(this, R.drawable.img_1);
ImageView image = (ImageView)findViewById(R.id.image);
image.setImageDrawable(d);
}
}
答案 0 :(得分:0)
修正了问题。我弄乱了我的drawable文件夹。我认为因为重命名了一些文件。通过执行以下操作解决了问题。
1-转到android studio的菜单栏Build>重建项目
2-转到android studio的菜单栏Build>清洁项目
3-进入android studio的菜单栏File>使高速缓存/重新启动无效