Android 在不同的线程中处理XmlParsing

Android 在不同的线程中处理XmlParsing,android,multithreading,xml-parsing,android-handler,Android,Multithreading,Xml Parsing,Android Handler,我正在开发一个应用程序,我必须解析URL中XML的数据。我的解析器现在正在运行并向我显示数据,但我遇到的问题是我无法正确处理解析数据的过程。我的应用程序被片段分割,每个片段将显示一些信息。我正在从一个片段执行所有解析/http连接。现在应用程序不显示数据,我使用Log.d来显示结果,但是当数据显示在logcat上时,应用程序就像冻结或暂停一样。这是连接到xml URL的方法: public void loadXML(){ Thread thread=new Thread(new

我正在开发一个应用程序,我必须解析URL中XML的数据。我的解析器现在正在运行并向我显示数据,但我遇到的问题是我无法正确处理解析数据的过程。我的应用程序被片段分割,每个片段将显示一些信息。我正在从一个片段执行所有解析/http连接。现在应用程序不显示数据,我使用Log.d来显示结果,但是当数据显示在logcat上时,应用程序就像冻结或暂停一样。这是连接到xml URL的方法:

     public void loadXML(){
    Thread thread=new Thread(new Runnable(){
    public void run(){
        try{
            URL url=new URL(FEED_URL);
            HttpURLConnection conn=(HttpURLConnection)url.openConnection();
            conn.setReadTimeout(1000);/*miliseconds*/
            conn.setConnectTimeout(1500);
            conn.setRequestMethod("GET");
            conn.setDoInput(true);
            conn.connect();
            InputStream stream=conn.getInputStream();
            XmlPullParserFactory factory=XmlPullParserFactory.newInstance();    /*Instantiate new parser*/
            XmlPullParser xmlParser=factory.newPullParser();
            xmlParser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, false);
            xmlParser.setInput(stream,null);
            items=(ArrayList<Item>) XmlFeedParser.parser(xmlParser);//the method that does the parsing
            stream.close();
        }catch(Exception e){
            e.printStackTrace();
        }
    }
});
thread.start();
}
在Fragment类中,我在片段的onStart()中调用loadXML()方法。除了代码中显示的线程之外,我没有创建任何其他线程或调用任何其他方法。
任何帮助或信息将不胜感激。谢谢

您是否尝试调用getActivity().runOnUiThread(操作)?

我将在上浏览android开发者页面。我想这里的示例正是您想要的。

我还没有检查是否可以使用此方法,我正在检查,谢谢
  private Handler handler = new Handler(){