AsyncTask中的XmlPullParser代码问题(按钮单击激活)

时间:2013-08-10 18:04:01

标签: eclipse android-asynctask xmlpullparser

所以我有一个我已经工作了一段时间的程序。但是,我坚持使用XmlPullParser的方法,该方法称为getAllXml()。它位于doInBackGround()的{​​{1}}方法内。 AsyncTask是名为AsyncTask的Activity的子类。当我运行代码时。

以下是代码应该执行的操作。用户从之前的活动中选择FormActivity后。名为"CloverField"的xml文件由cloverfield_in.xml调用。然后用户按下同一个xml文件上的按钮。单击此按钮可执行名为setContentView()的{​​{1}}。在此AsyncTask中,这只有两种方法,MadLIbAsyncTaskAsyncTask。 (我不知道我是否需要doInBackground() ...其中我会有一个进度条......但是如果没有这种方法,我认为程序不应该像它那样崩溃)。

onPostExecute()方法中,我调用名为onPreExecute()的方法。此方法使用doInBackground()搜索当前的xml(getAllXml())并从单个XmlPullParser中捕获文本。 cloverfield_in.xml的代码如下。

TextView

在调试过程中,我的程序通常会返回getAllXml()public void getAllXml() throws XmlPullParserException, IOException{ Activity activity = this; Resources res = activity.getResources(); XmlResourceParser xpp = res.getXml(R.layout.cloverfield_in); int eventtype = xpp.getEventType(); while (eventtype != XmlPullParser.END_DOCUMENT){ if (eventtype == XmlPullParser.START_DOCUMENT){ } else if (eventtype == XmlPullParser.START_TAG){ if (xpp.getName() == "TextView"){ while (eventtype != XmlPullParser.END_TAG){ if (eventtype == XmlPullParser.TEXT){ stringViews[0] = xpp.getText(); }else {} eventtype = xpp.next(); } }else {} } else if (eventtype == XmlPullParser.END_TAG){ } else if (eventtype == XmlPullParser.TEXT){ } eventtype = xpp.next(); } } 。我相信在这段代码中是问题所在。我测试了NullPointerException而没有RunTimeException方法的存在,一切正常。最终程序应该从AsyncTask文件中收集文本并将其显示在名为getAllXml()的新文件中。

要对所有内容进行全面审核,请参阅cloverfield_in.xml的完整代码。

cloverfield_out.xml

另外,最重要的是...... logcat看起来像这样:

FormActivity.class

0 个答案:

没有答案