解决android.content.res.Resources NotFoundException的一个方法

android开发中会用一些资源,这些资源以不同形式存在,比如说图片,xml等,android为这些不同类型的资源统一编号,生成资源类R
。如下:

public final class R {
public static final class anim {
public static final int popup_enter=0x7f040000;
public static final int popup_exit=0x7f040001;
}
public static final class drawable {
public static final int gradient_bg=0x7f020000;
public static final int icon=0x7f020001;
}
public static final class layout {
public static final int city_item=0x7f030000;
}
}

在编译器编译程序时可以找到的资源,但在运行时却找不到,会出现如下异常:
12-14 01:40:58.452: WARN/AppWidgetHostView(627): android.content.res.Resources$NotFoundException: Resource ID #0x7f030000
出现此类异常时,可以根据 Resource ID到资源类R中找相关的资源。比如0x7f030000,对应的是city_item布局文件,就可以将问题缩小到更小的范围。对于这类运行时找不到资源,但资源又确实存在的问题,可能的编译打包时出现问题,没有将该资源加入。可修改一下该资源,让编译器重新编译。

引用一下其他网友的解决方案:

1、

今天遇到类似这样问题,后来在找到解决方案,把AndroidManifest.xml里面的版本改为8(我原来的是10),问题解决了,原因是这样的:主要是原来的那个工程占用现在的这个虚拟机,不能正常加载现在的这个工程.

把原来的那个工程移除掉,把原来的工程的androidmanifest.xml文件考到现在的这个工程就可以了,不改版本号也可以运行。。自己尝试一下会感悟很多的

再有就是点击Project ->Clean一下这个项目 也可以的。

2、

ERROR/AndroidRuntime(279): android.content.res.Resources

$NotFoundException: String resource ID #0x7f050008

解决方案:

可能存在的问题是eclipse缓存影响了现有项目的运行,清除一下缓存即可以了。。。

3、android.content.res.Resources$NotFoundException 今天编程时遇到了这种异常产生异常的代码如 下:distanceChoiceView.setText(PreferenceStoreData.getIntByKey(AroundActivity.this, FinalConst.arroudDistance, 500));产生原因在于 TextView.setText(value) ,其中value必须是String 类型的。而我上面赋值的时Int 类型,所以出错。解决方 法:distanceChoiceView.setText(“”+PreferenceStoreData.getIntByKey(AroundActivity.this, FinalConst.arroudDistance, 500));

源自:http://blog.3gstdy.com/

发表评论