资源$ NotFoundException:资源ID#0x0

时间:2014-01-15 08:32:50

标签: android xml-parsing

许多报道但问题似乎有所不同:

在我的某个设备中,应用程序在单击按钮时崩溃,并显示以下日志 -

01-14 19:50:51.284: V/Provider/Setting(31765): invalidate [system]: current 397 != cached 0
01-14 19:50:51.363: W/ResourceType(31765): No package identifier when getting value for resource number 0x00000000
01-14 19:50:51.365: D/AndroidRuntime(31765): Shutting down VM
01-14 19:50:51.365: W/dalvikvm(31765): threadid=1: thread exiting with uncaught exception (group=0x40d12258)
01-14 19:50:51.368: E/AndroidRuntime(31765): FATAL EXCEPTION: main
01-14 19:50:51.368: E/AndroidRuntime(31765): android.content.res.Resources$NotFoundException: Resource ID #0x0
01-14 19:50:51.368: E/AndroidRuntime(31765):    at android.content.res.Resources.getValue(Resources.java:1036)
01-14 19:50:51.368: E/AndroidRuntime(31765):    at android.content.res.Resources.loadXmlResourceParser(Resources.java:2140)
01-14 19:50:51.368: E/AndroidRuntime(31765):    at android.content.res.Resources.getXml(Resources.java:924)
01-14 19:50:51.368: E/AndroidRuntime(31765):    at com.palash.main.Popper.setRules(Popper.java:869)

Popper.java:

int resId = getResources().getIdentifier("xml/" + rule_file, "string", getActivity().getPackageName());

XmlPullParser xpp0 = getResources().getXml(resId); //Line 869
XMLData xml = new XMLData(xpp0);

注意:

该应用程序提供了一个说"Unfortunately, Palash has stopped"的HUD,然后提供两个选项,"Free Space""OK"

按OK按钮将我置于设备的主屏幕上,Free Space按钮将我置于设备上的Settings应用程序中。

1 个答案:

答案 0 :(得分:1)

getIdentifier()找不到给定资源的0,0不是有效的资源标识符。

在致电resId != 0之前,您应该先检查getXml()

然后弄清楚找不到rule_file资源的原因 - 问题中的信息不足。