我正在尝试根据国家/地区名称在 ImageView 中设置国家/地区标志。
我遵循惯例,国旗图像始终存储在 drawable/flag_country_name
例如;可绘制/flag_india,可绘制/flag_south_africa
到目前为止我写的代码是
imageFlagRight.setImageResource(getFlagResource("India"));
private int getFlagResource(String teamName) {
if(teamName.equals("India")){
return R.drawable.flag_india;
}
if(teamName.equals("Srilanka")){
return R.drawable.flag_srilanka;
}
if(teamName.equals("New Zealand")){
return R.drawable.flag_new_zealand;
}
if(teamName.equals("Pakistan")){
return R.drawable.flag_pakistan;
}
if(teamName.equals("Srilanka")){
return R.drawable.flag_srilanka;
}
if(teamName.equals("South Africa")){
return R.drawable.flag_south_africa;
}
if(teamName.equals("Austalia")){
return R.drawable.flag_australia;
}
return R.drawable.flag_default;
}
上面的代码工作正常。
现在我想添加更多的县和旗帜。有什么办法可以减少代码行吗?像
return R.drawable.flag+underscorise(teamName);
最佳答案
String name="flag_" + "india";
public int getFlagResource(Context context, String name) {
int resId = context.getResources().getIdentifier(name, "drawable", "com.mypackage.namehere");
return resId;
}
试试这个。
关于android - 动态设置 ImageView 的来源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5576156/