从资源 id 获取可绘制对象时的相同图像
Same image when obtaining drawable object from resource id
我有一个问题。我正在搜索如何从资源 ID 获取可绘制对象。我已经在 Whosebug 上找到了一些答案,例如这个: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);
}
}
已解决问题。我弄乱了我的可绘制文件夹。我想是因为重命名了一些文件。通过执行以下操作解决了问题。
1- 转到 android 工作室的菜单栏构建 > 重建项目
2- 转到 android 工作室的菜单栏构建 > 清理项目
3- 转到 android 工作室的菜单栏文件 > 使缓存无效/重新启动
我有一个问题。我正在搜索如何从资源 ID 获取可绘制对象。我已经在 Whosebug 上找到了一些答案,例如这个: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);
}
}
已解决问题。我弄乱了我的可绘制文件夹。我想是因为重命名了一些文件。通过执行以下操作解决了问题。
1- 转到 android 工作室的菜单栏构建 > 重建项目
2- 转到 android 工作室的菜单栏构建 > 清理项目
3- 转到 android 工作室的菜单栏文件 > 使缓存无效/重新启动