gpt4 book ai didi

android - 在运行时从位图列表中选择可绘制对象的简洁方法?

转载 作者:行者123 更新时间:2023-11-29 20:54:52 26 4
gpt4 key购买 nike

所以我有一个国家/地区 ISO 代码列表(“US”、“UK”、“AU”...),我想根据提供的 ISO 代码使用不同的可绘制对象。现在我的解决方案是使用一个大的 switch 语句

switch(iso){
case "AU":
icon = R.drawable.al_au;
etc...

这似乎很笨拙而且是不好的做法。有更清洁的方法吗?我唯一的另一个想法是从 iso 代码中形成可绘制对象的名称并使用反射,但我认为那会非常低效。

最佳答案

如果您的可绘制对象可以遵循命名约定,那么您可以做类似的事情

要获取 Drawable 对象本身:

iconDrawable = getResources().getDrawable(
getResouces().getIdentifier("al_" + iso.toLowerCase(),
"drawable", getPackageName()));

只获取 Drawable 标识符:

icon = getResouces().getIdentifier(
"al_" + iso.toLowerCase(), "drawable", getPackageName());

关于android - 在运行时从位图列表中选择可绘制对象的简洁方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28048766/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com