解決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));