【问题标题】:Same image when obtaining drawable object from resource id从资源 id 获取可绘制对象时的相同图像
【发布时间】:2016-04-22 16:43:20
【问题描述】:

我有一个问题。我正在搜索如何从资源 id 中获取可绘制对象。我已经在 stackoverflow 上找到了一些分析器,例如这个: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);

    }
}

【问题讨论】:

  • 我试过你的代码,一切都很好,对我有用。我复制/粘贴您的相同代码,因此您必须检查您的资源名称。
  • 不,资源名称很好,但我解决了这个问题。看看更新。感谢您回答我的问题!
  • 您不应该用答案更新您的问题,而是必须将您的解决方案作为自己的答案发布。
  • 完成!感谢您的建议罗伯特

标签: java android android-studio imageview android-drawable


【解决方案1】:

解决了这个问题。我搞砸了我的可绘制文件夹。我认为是因为重命名了一些文件。通过执行以下操作修复了该问题。

1- 进入 android studio 的菜单栏 Build > Rebuild Project

2- 进入 android studio 的菜单栏 Build > Clean Project

3- 进入 android studio 的菜单栏 File > Invalidate Caches / Restart

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-25
    • 1970-01-01
    • 2013-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-04
    • 2011-05-30
    相关资源
    最近更新 更多