资源$ NotFoundException当资源存在时

时间:2012-02-29 01:19:50

标签: android exception android-resources

我正在尝试将自定义适配器内的drawable设置为ImageViewSimpleCursorAdapter。这是我正在使用的代码:

@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存在,代码编译没有任何问题。我尝试清理并重建项目并重新启动eclipse。这里发生了什么?

1 个答案:

答案 0 :(得分:3)

您正在调用Resources.getSystem(),但您需要应用程序资源,而不是系统资源。而是做:

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