2 lidaming and LiDaming_and 于 2013.03.26 14:05 提问

如何从 json 文件中根据图像名动态的获得图像?

我在json文件中储存了图像名,例如:"Image1.png"。我使 JSONParser 获得这个图像名,但是不能把图像显示在 ImageView 中。

ImageView imageView = (ImageView)findViewById(R.id.imageViewer);
for (int i = 0; i < posts.length(); i++) {
    JSONObject c = posts.getJSONObject(i);
    String varImage = c.getString(TAG_IMAGE);
    int resId = getResources().getIdentifier(varImage, "drawable" , getPackageName());                      
    imageView.setImageResource(resId);
    //code to add data in hash map
}

2个回答

hxn_217
hxn_217   2013.03.26 14:46
已采纳

使用代码:

ImageView imageView = (ImageView)findViewById(R.id.imageViewer);
for (int i = 0; i < posts.length(); i++) {
    JSONObject c = posts.getJSONObject(i);
    String varImage = c.getString(TAG_IMAGE).substring(0, c.getString(TAG_IMAGE).lastIndexOf('.');
    int resId = getResources().getIdentifier(varImage, "drawable" , getPackageName());                      
    imageView.setImageResource(resId);
    //code to add data in hash map
}
ssummeraw
ssummeraw   2013.04.01 17:46

使用下面的代码获取 drawable id:

try {
    Class res = R.drawable.class;
    Field field = res.getField("drawableName"); //Here you put your image name getting from json file
    int drawableId = field.getInt(null);
}
catch (Exception e) {
    Log.e("MyTag", "Failure to get drawable id.", e);
}

获取 drawable id后,然后在 ImageView 设置 drawable。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!