我的 android 应用程序中有一组 cca 50 运动图标,我需要有一个函数来传递运动名称,并且该函数返回运动图标。
现在我是这样处理这个问题的:
public static int getSportIcon(String sport){
if(sport != null) {
switch (sport) {
case "Swimming": {
return R.drawable.swimming;
}
case "Bicycling": {
return R.drawable.bicycling;
}
case "Football": {
return R.drawable.football;
}
case "Badminton": {
return R.drawable.badminton;
}
case "Hockey": {
return R.drawable.hockey;
}
case "Skiing": {
return R.drawable.skiing;
}
case "TableTennis": {
return R.drawable.table_tennis;
}
case "Tennis": {
return R.drawable.tennis;
}
case "Volleyball": {
return R.drawable.volleyball;
}
case "Basketball":
return R.drawable.basketball;
default: {
return R.drawable.ic_android_black_24dp;
}
}
}
else {
return R.drawable.ic_android_black_24dp;
}
}
有没有更好的办法?
谢谢
int id = context.getResources().getIdentifier(sport.toLowerCase(), "drawable", context.getPackageName());
这将获得具有匹配字符串名称的 drawable。我会将结果缓存在某处,因此您不必经常使用它(它不是最快的功能,尤其是在绘图时使用)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句