许多报道但问题似乎有所不同:
在我的某个设备中,应用程序在单击按钮时崩溃,并显示以下日志 -
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应用程序中。
答案 0 :(得分:1)
getIdentifier()
找不到给定资源的0,0不是有效的资源标识符。
在致电resId != 0
之前,您应该先检查getXml()
。
然后弄清楚找不到rule_file
资源的原因 - 问题中的信息不足。