2011-10-17 54 views
3

我得到一个强制关闭这个的Android的Java设置图像资源

if(num1.getText().equals("0")) { 
      num1.setText("1"); 
      ImageView hpdown1 = (ImageView)findViewById(R.id.hair); 
      hpdown1.setImageResource(R.drawable.haie2); 
     } 

请帮助..

+2

我怀疑在日志的某处会出现异常。找到它,它会给更多的信息.​​.. –

回答

2

你不说,但我猜一个空指针异常。在调用setImageResource之前,确保hpdown不是null

15

您可以使用Resources类中的getDrawable方法。例如:

ImageView image = (ImageView) findViewById(R.id.image); 
Resources res = getResources(); /** from an Activity */ 
image.setImageDrawable(res.getDrawable(R.drawable.myimage)); 
+0

要支持旧版本使用ResourcesCompat像这样:http://stackoverflow.com/a/29041466/1732338 –

0

有个声音告诉我,你的问题是,你的资源是:R.drawable.haie2这对于我来说,在你的代码的情况下,看起来它是被设为R拼写错误.drawable.hair2

2

已经被废弃,

getResources().<strike>getDrawable</strike>(R.drawable.myimage)); 

image.setImageDrawable(ContextCompat.getDrawable(this, R.drawable.menu_southamerica));