2016-04-22 47 views
0

我有问题。我在搜索如何从资源ID获取可绘制对象。我已经在stackoverflow上找到了一些ansers,例如这个:How do you obtain a Drawable object from a resource id in android package?从资源ID获取可绘制对象时的相同图像

但是由于某些原因,当我使用这段代码时,我总是得到相同的图像,而我的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

我试过你的代码,一切都很好,为我工作。我复制/粘贴相同的代码,所以你必须检查你的资源名称。 – Robert

+0

不,资源名称很好,但我解决了这个问题。看看更新。谢谢回答我的问题! –

+0

你不应该用答案来更新你的问题,而是你必须发布你的解决方案作为自己的答案。 – Robert

回答

0

解决了这一问题。我弄乱了我的drawable文件夹。我想因为重命名一些文件。通过执行以下操作来解决问题。

1选择Android Studio的菜单栏构建>重建项目

2 - 去到Android Studio的菜单栏生成>清理项目

3-得到了Android Studio中的菜单栏文件>的Invalidate缓存/重新启动