【发布时间】:2011-04-07 04:53:53
【问题描述】:
我正在尝试根据国家名称在 ImageView 中设置国家标志。
我遵循国旗图像始终存储在drawable/flag_country_name的约定
例如; drawable/flag_india, drawable/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);
【问题讨论】:
-
imageFlagRight.setImageResource(getFlagResource("India"));在这行代码中,你动态传递了印度
-
不是实时的,就像
imageFlagRight.setImageResource(getFlagResource(anObjectFromMatchList.getTeamName())); -
您不需要 getFlagResource() 方法,您只需对所有 TeamImages 通用以下行 imageFlagRight.setImageResource(R.drawable.flag_+TeamName);其中 TeamName 是字符串。传递团队名称并获取结果
-
@Ayudh 你不能像那样简单地追加
标签: android android-layout android-imageview