2012-02-29 131 views
2

我试图从自定义SimpleCursorAdapter中设置一个可绘制的ImageView。这是我正在使用的代码。

@Override 
public void bindView(View view, Context context, Cursor cursor) { 
    super.bindView(view, context, cursor); 
    ImageView i = (ImageView) view.findViewById(R.id.icon); 
    switch(Integer.parseInt(cursor.getString(4))){ 
    case 0: 
     Drawable drawable = null; 
     try { 
      drawable = Resources.getSystem().getDrawable(R.drawable.andro_icon); 
     } catch (NotFoundException e) { 
      e.printStackTrace(); 
     } 
     i.setImageDrawable(drawable); 

但这接球Resources$NotFoundException

02-29 06:39:48.467: W/System.err(13511): android.content.res.Resources$NotFoundException: Resource ID #0x7f02000c 

R.drawable.andro_icon存在的资源,代码编译没有任何问题,我试图清理和重建项目,并重新启动蚀。这里发生了什么事?

+0

通过添加'drawable = context.getResources()。getDrawable(R.drawable.andro_icon);'修复。 – 2012-02-29 01:28:42

回答

3

你打电话给Resources.getSystem()但你想要应用程序资源,而不是系统资源。取而代之:

context.getResources().getDrawable(R.drawable.andro_icon); 
+0

谢谢,它的工作 – 2012-02-29 01:30:49

相关问题