为了账号安全,请及时绑定邮箱和手机立即绑定

按名称获取可绘制图像

按名称获取可绘制图像

胡说叔叔 2021-07-02 13:05:45
我有一个模型,它有一个特定的国家标志:public int getCountryFlag() {    return countryFlag;}public void setCountryFlag(int countryFlag) {    this.countryFlag = countryFlag;}我正在从 API 获取数据。API 有一个值国家代码,这可能是这样的:"country":"de","created_at":"2018-08-08 09:17:43","updated_at":"2018-08-08 09:17:43"我将标志命名为国家/地区代码:deseus....如何获取图像的确切资源 ID 以将其与模型相关联?我正在使用 RecyclerView。我试过类似的东西:int resID = getResources().getIdentifier(object.getString("country"), "drawable",  getPackageName());model.setCountryFlag(R.drawable.sy);虽然那没有用!
查看完整描述

2 回答

?
MM们

TA贡献1886条经验 获得超2个赞

如果您确定api字符串的格式,请执行以下操作:

String country = api.trim().split(",")[0].split(":")[1].replaceAll("\"", "");

或者

String country = api.trim().substring(11, 13);

然后:

int resID = getResources().getIdentifier(country, "drawable",  getPackageName());
model.setCountryFlag(resID);


查看完整回答
反对 回复 2021-07-07
?
慕雪6442864

TA贡献1812条经验 获得超5个赞

您可以通过资源 ID 名称获取标志

int drawableResourceId = this.getResources().getIdentifier("de", "drawable", this.getPackageName());


查看完整回答
反对 回复 2021-07-07
  • 2 回答
  • 0 关注
  • 103 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信