2016-08-15 48 views
0

我正在使用一些API并获得JSON数组作为响应,并且我想从国家名称添加国家/地区标志。 和可绘制的图像。如何显示来自JSON响应中填充的ListView资源中的图像

我有这个

public void onBindViewHolder(ViewHolder holder, int position) { 
    final Server server = mServers.get(position); 
    holder.mFlag.setImageDrawable(Drawable.createFromPath(server.countryShort)); 
    holder.mCountry.setText(server.countryLong); 
} 
+0

编辑我的答案。请看它。 –

回答

0

你可以做到以下几点:

public void onBindViewHolder(ViewHolder holder, int position) { 
    final Server server = mServers.get(position); 

    Glide.with(context).load(getImageResourceId(context, server.countryLong)).into(holder.mFlag); 

    holder.mCountry.setText(server.countryLong); 
} 


private int getImageResourceId(Context context, String imageName) { 
    return context.getResources().getIdentifier(imageName, "drawable", context.getPackageName()); 
} 
0

您可以从资源直接设置资源这样

int imageResource = getResources().getIdentifier(@drawable/myresource.png, null, getPackageName()); 

imageview= (ImageView)findViewById(R.id.imageView); 
Drawable res = getResources().getDrawable(imageResource); 
imageView.setImageDrawable(res); 
相关问题