我有一个模型,并且有一个特定的国家/地区标志:
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"
我将标志命名为国家/地区代码
de
se
us
....
如何获取图像的确切resourceID以将其与模型相关联? 我正在使用RecyclerView。
我尝试过类似的事情:
int resID = getResources().getIdentifier(object.getString("country"), "drawable", getPackageName());
model.setCountryFlag(R.drawable.sy);
尽管那行不通!
答案 0 :(得分:0)
如果您确定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);
答案 1 :(得分:0)
您可以通过资源ID名称获得标志
int drawableResourceId = this.getResources().getIdentifier("de", "drawable", this.getPackageName());