android – drawable getResources().getIdentifier问题

前端之家收集整理的这篇文章主要介绍了android – drawable getResources().getIdentifier问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我第一次在这里(我发现网站非常有用).我是 Android的新手,我需要找出为什么我无法在列表视图中动态加载图像.

我有三个字符串数组:

private String lv_arr[]={"News","Events","Other"};
private String lv_arr_d[]={"Get the latest news","Latest events","Other description here"};
private String lv_arr_icons[]={"news","events","other"};

我的列表在每个列表项中向右显示一个图标,右边是两行文字.
当我硬编码图像的名称(例如新闻)时,它可以正常工作.

ArrayList <HashMap <String,Object>> users = 
     new ArrayList <HashMap <String,Object>> ();
     int l = lv_arr.length;
     for (int i = 0; i <l; i++) {
     HashMap <String,Object> user = new HashMap <String,Object> ();

     //get icons
     String uri = "drawable/"+lv_arr_icons[i];

     user.put ( "icon",(Drawable)getResources().getDrawable(
             getResources().getIdentifier(uri,null,getPackageName())));
//the above works ok if i set R.drawable.news 
     user.put ( "label",lv_arr[i].toString()); 
     user.put ( "description",lv_arr_d[i].toString()); 
     users.add (user); 
     }

     String[] names = {"icon","label","description"};
     int[] views = {R.id.icon,R.id.label,R.id.description};

     SimpleAdapter saImageItems = new SimpleAdapter(this.getApplicationContext(),users,R.layout.optionslistitem,names,views);
       lv1.setAdapter(saImageItems); //lv1 is my ListView

所有图像都在可绘制的文件夹中.
当我尝试传递他们的名字并从资源中获取资源时,任何想法为什么没有图像加载?

解决方法

如果你这样做:
user.put ( "icon",getResources().getIdentifier(uri,"drawable",getPackageName()));

猜你在找的Android相关文章