我已经创建了一个基于问题答案的应用程序,这个问题曾经是基于图片的随机问题。编码没有错误,应用程序成功运行。它进入主页面并进入第二个但是当我转到问题答案部分时,图像已经显示并且没有更多的进一步动作,我的代码的解析活动从这里开始它不会更进一步。
当我在我的编码中放置一个try catch块时,在logcat中它向我们展示了
02-17 14:49:20.582: ERROR/Parsing Pack(1194): Packthumb = butenemethylpropane
02-17 14:49:21.502: ERROR/(1194): orientationvalue1 width = 320 Height = 480
02-17 14:49:21.502: ERROR/(1194): 2130837515
02-17 14:49:21.502: ERROR/(1194): butene_vs_2butene
02-17 14:49:21.532: ERROR/Timerview(1194): L= 20W= 15H= 200
02-17 14:49:21.562: ERROR/ParsingActivity oncreate(1194): ERROR = android.content.res.Resources$NotFoundException: Resource ID #0x0
以下是我对解析活动的编码
try
{
resID = getResources().getIdentifier(name, "raw", "com.menteon.speedimage0102");
saxparserfactory = SAXParserFactory.newInstance();
saxparser = saxparserfactory.newSAXParser();
xmlreader = saxparser.getXMLReader();
//getting the path of xml to parse
inputstream = this.getResources().openRawResource(resID);
xmlreader.setContentHandler(myXMLHandler);
//parsing the xml
xmlreader.parse(new InputSource(inputstream));
//getting the values of xml
item = myXMLHandler.getitem();
menteon = myXMLHandler.getmenteon();
polygon = myXMLHandler.getpolygon();
point = myXMLHandler.getpoint();
orientation = menteon.getOrientation();
o = menteon.getItem().size();
Log.e("ParsingActivity", "Orientation = "+orientation);
Log.e("ParsingActivity", "menteon size = "+o);
//calling function for random number
qnumber();
if(orientation.equalsIgnoreCase("portrait") && orientationvalue==2 )
{
alertportrait(orientation, orientationvalue);
}
else if(orientation.equalsIgnoreCase("landscape") && orientationvalue==1 )
{
alertlandscape(orientation, orientationvalue);
}
if(orientation.equalsIgnoreCase("portrait") && orientationvalue==1)
{
setRequestedOrientation(1);
alertstart();
}
else if(orientation.equalsIgnoreCase("landscape")&& orientationvalue==2)
{
setRequestedOrientation(2);
alertstart();
}
}
catch (Exception e)
{
e.printStackTrace();
Log.e("ParsingActivity oncreate", "ERROR = "+e);
}
}
请帮我调试我的错误
答案 0 :(得分:2)
看着这个:
ERROR = android.content.res.Resources$NotFoundException: Resource ID #0x0
我怀疑您正在尝试查找ID为“#0x0”的资源,但它不存在。可能你没有要求真正的身份证。我看到这个代码适用于资源:
resID = getResources().getIdentifier(name, "raw", "com.menteon.speedimage0102");
inputstream = this.getResources().openRawResource(resID);
为了进行调试,我会记录resID,以检查第一行的内容。并检查这是否确实是正确的资源:我认为调用getIdentifier可能会出错?
答案 1 :(得分:1)
错误来自
行resID = getResources().getIdentifier(name, "raw", "com.menteon.speedimage0102");
导致异常
android.content.res.Resources$NotFoundException
无法找到请求的资源时,资源API会抛出此异常。
请确保您拥有与指定名称相同的资源。
希望这会对你有所帮助。