Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Listview没有';t显示使用异步任务获取的XML解析数据_Android_Listview_Android Asynctask - Fatal编程技术网

Android Listview没有';t显示使用异步任务获取的XML解析数据

Android Listview没有';t显示使用异步任务获取的XML解析数据,android,listview,android-asynctask,Android,Listview,Android Asynctask,我在asynctask中使用XML解析异步加载listview中的数据。当我使用Log.d()时,我发现xmlparsing工作正常,并显示日志中的所有数据。但是当我试图从异步任务将其加载到listview中时,listview没有显示任何内容。看起来数据根本没有加载到listview中 我的XML解析类 XMLParser.java package com.askme.exploretoday; 导入java.io.IOException; 导入java.io.StringReader; 导

我在
asynctask
中使用
XML解析
异步加载listview
中的数据。当我使用
Log.d()
时,我发现xmlparsing工作正常,并显示日志中的所有数据。但是当我试图从异步任务将其加载到listview中时,listview没有显示任何内容。看起来数据根本没有加载到listview中

我的XML解析类

XMLParser.java

package com.askme.exploretoday;
导入java.io.IOException;
导入java.io.StringReader;
导入java.io.UnsupportedEncodingException;
导入javax.xml.parsers.DocumentBuilder;
导入javax.xml.parsers.DocumentBuilderFactory;
导入javax.xml.parsers.parserConfiguration异常;
导入org.apache.http.HttpEntity;
导入org.apache.http.HttpResponse;
导入org.apache.http.client.ClientProtocolException;
导入org.apache.http.client.methods.HttpPost;
导入org.apache.http.impl.client.DefaultHttpClient;
导入org.apache.http.util.EntityUtils;
导入org.w3c.dom.Document;
导入org.w3c.dom.Element;
导入org.w3c.dom.Node;
导入org.w3c.dom.NodeList;
导入org.xml.sax.InputSource;
导入org.xml.sax.SAXException;
导入android.util.Log;
公共类XMLParser{
公共字符串getXmlFromUrl(字符串url){
字符串xml=null;
试一试{
//defaultHttpClient+
DefaultHttpClient httpClient=新的DefaultHttpClient();
HttpPost HttpPost=新的HttpPost(url);
HttpResponse HttpResponse=httpClient.execute(httpPost);
HttpEntity HttpEntity=httpResponse.getEntity();
xml=EntityUtils.toString(httpEntity);
}捕获(不支持的编码异常e){
e、 printStackTrace();
}捕获(客户端协议例外e){
e、 printStackTrace();
}捕获(IOE异常){
e、 printStackTrace();
}
//返回XML
返回xml;
}
公共文档getDoElement(字符串xml){
单据单据=空;
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
试一试{
DocumentBuilder db=dbf.newDocumentBuilder();
InputSource is=新的InputSource();
is.setCharacterStream(新的StringReader(xml));
doc=db.parse(is);
}捕获(ParserConfiguration异常e){
Log.e(“错误:,e.getMessage());
返回null;
}捕获(SAXE异常){
Log.e(“错误:,e.getMessage());
返回null;
}捕获(IOE异常){
Log.e(“错误:,e.getMessage());
返回null;
}
//返回DOM
退货单;
}
公共字符串getValue(元素项,字符串str){
NodeList n=item.getElementsByTagName(str);
返回此.getElementValue(n.item(0));
}
公共最终字符串getElementValue(节点元素){
节点子节点;
if(elem!=null){
if(elem.hasChildNodes()){
for(child=elem.getFirstChild();child!=null;child=child.getNextSibling()){
if(child.getNodeType()==Node.TEXT\u节点){
返回child.getNodeValue();
}
}
}
}
返回“”;
} 

}
如果您希望我们调试所有这些,您至少可以正确设置格式,并自己使用调试器对问题原因进行研究。看见更好的是,提供一个,这个问题几乎可以立即得到回答。我已经告诉过,问题在异步任务中的list_activity.java类中……代码的其余部分仅供理解。我不知道你说的格式化是什么意思。我提供的每个代码都在一个单独的代码段中。每个代码段甚至都有一个标题,清楚地描述了这个类的用途。这里还需要做什么?我还说,这不是关于显示logcat的,因为xmlparser正确地加载了使用logcat检查的数据,但无法在listview中加载它,似乎listview的适配器声明错误。这就是我关心的问题。好的,没关系。我只是想帮你问一些更好的问题。我开始尝试查看您的代码,但被注释和缩进分散了注意力。在IDE中使用Ctrl Alt L可以很容易地修复它。如果其他代码不相关,您可以将其缩小,以便其他人更容易调试。实际上,其他代码是相关的,因为您不正确地使用了
AsyncTask
。花更多的时间阅读相关文档-您不必将所有字段都保存到类中,尤其是那些在数组中重复的字段