2013-03-09 185 views
1

我有,我想显示你目前在国内的一个小图标的ImageView的。我可以得到国家代码,但问题是我不能动态改变ImageView的资源。我的图像文件全部是小写的图像视图设置图像资源

String lowerCountryCode = countryCode.toLowerCase(); 
    String resource = "R.drawable." + lowerCountryCode; 
    img.setImageResource(resource); 
int id = getResources().getIdentifier(lowerCountryCode, "drawable", getPackageName()); 
setImageResource(id); 

abve是我的代码。

现在,当然这是行不通的,因为一套图像资源要一个int,所以我怎么能做到这一点?在此先感谢

+0

字符串资源= “R.drawable。” + lowerCountryCode; img.setImageResource(资源),它不会因为资源ID工作的每一个资源在R档醚使用setImageDrawabel定义 – DjHacktorReborn 2013-03-09 12:02:27

+0

我认为你必须把应用程序中的图像和检查字符串ü可以设置适当的imageresources图像视图.. – 2013-03-09 12:13:42

回答

3

我的意思是你知道你想用于一个和其他国家的文件的名称(可绘制)。

ImageView imgView=(ImageView)findViewById(R.id.imageView1); 
int id = getResources().getIdentifier(lowerCountryCode.toLowerCase(), "drawable", getPackageName()); 
imgView.setImageDrawable(res.getDrawable(id)); 
+0

thanku @festus tamakloe .........其炒菜锅! – Shekhar 2013-03-11 05:17:50

+0

@Shekhar不客气。如果你喜欢我的回答就接受它。谢谢 – 2013-03-11 06:09:52

0

我使用该代码....

ImageView[] ivCard = new ImageView[1]; 

@override  
protected void onCreate(Bundle savedInstanceState) 

ivCard[0]=(ImageView)findViewById(R.id.imageView1); 
+0

是它的工作,你给它的答案.. – 2013-03-09 12:14:53

1

下面的代码应该很好地工作(假设你真的有名字lowerCountryCode文件在你的文件夹res/drawable/

String lowerCountryCode = countryCode.toLowerCase(); 
int id = getResources().getIdentifier(lowerCountryCode, "drawable", getPackageName()); 
ivCard[0].setImageResource(id);