动态图像源android

动态图像源android,android,Android,我试图在我的android应用程序中使图像动态化。在其他帖子的帮助下,我写了这段代码,但我无法设置图像资源。这是我的密码 // get image whose source i want to change.. ImageView IV = (ImageView) findViewById(R.id.imageView1); // x for 1,2,3.. hangman1.png,hangman2.png and so on image are located // under res/d

我试图在我的android应用程序中使图像动态化。在其他帖子的帮助下,我写了这段代码,但我无法设置图像资源。这是我的密码

// get image whose source i want to change..
ImageView IV = (ImageView) findViewById(R.id.imageView1);

// x for 1,2,3.. hangman1.png,hangman2.png and so on image are located
// under res/drawable-mdpi
int j = getResources().getIdentifier("hangman"+x, "imageView", getPackageName());

// here i get errork, The method setImageResource(int) in the type ImageView 
// is not applicable for the arguments (Drawable)
IV.setImageResource( getResources().getDrawable(j) );

如果你想得到一个可拖动的,试试这个。同样正如KCopock所说,只需使用j.

,因为您正试图通过一个可拖动的。getDrawable()作为其名称,返回一个可绘制对象。setImageResource获取一个资源ID,这是getIdentifier将返回的。您只需将
j
传递到
setImageResource()

编辑:嘿,你也应该使用亚什万的答案,正如他所说的那样。:)


(团队合作!)

以上两种解决方案的结合为我带来了成功。下面是代码。。 我不知道该接受哪个答案

ImageView IV = (ImageView) findViewById(R.id.imageView1);
int j = getResources().getIdentifier("hangman"+x, "drawable", getPackageName());
IV.setImageResource( j );

在xml文件中,使用app:src而不是android:background;在活动文件中,使用:

setImageDrawable(getRessource().getDrawable(R.drawable.yourRessource));

我已经试过IV.setImageResource(j);错误消失,但图像不变..:(是的,你需要指定资源的类型。比如在
R.drawable.hangman1
:类型是
drawable
而不是
imageView
。他还以16秒的优势击败了我。+1持续16秒。。哈哈……好的,我会接受他的回答。。谢谢:)
setImageDrawable(getRessource().getDrawable(R.drawable.yourRessource));