현재 XML을 XmlPullParser 을 이용하여 파싱을 해오는것 까지는 성공을 했습니다.
하지만 스레드를 이용해서 프로그래스다이알로그로 로딩페이지를 띄우고 스레드가 값을 다가져온후

커스텀리스트뷰로 보여주고 싶은데 어떻게 해야할까요?

혹시나하는 마음에 소스를 올려봅니다. 고수님들의 의견과 도움을 구하고자 글을 올립니다.^^

가능하시다면 상세한 설명(소스주시면 다은생에 졸부의 아들로 태어나 편안한 인생을 사실꺼에요^^)을 주신다면 감사하겠습니다^^


package EIP.GW.EMAIL;

import java.io.InputStream;
import java.net.URL;

import java.util.ArrayList;
import java.util.Iterator;

import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserFactory;

import EIP.GW.IconTextView;
import EIP.GW.IconTextItem;
import EIP.GW.IconTextListAdapter;
import EIP.GW.R;

import android.app.Activity;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.util.Log;
import android.widget.ListView;

public class Email_List extends Activity {
 
 ListView myListview;
 IconTextView temp;
 ArrayList<XmlData> m_xmlData = new ArrayList<XmlData>();
 
    /** Called when the activity is first created. */
    @Override
 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.list);
       
        myListview = (ListView)findViewById(R.id.myListview1); 
       
        final IconTextListAdapter adapter = new IconTextListAdapter(this, 1);

        m_xmlData = getXmlData();
        Iterator<XmlData> it = m_xmlData.iterator();

  while (it.hasNext()) {
   XmlData xmlData = it.next();
   adapter.addItem(new IconTextItem(xmlData.PN_ALIES, xmlData.EM_RECEIVEDT, xmlData.EM_SUBJECT));
  }

  myListview.setAdapter(adapter);

    }
   
public ArrayList<XmlData> getXmlData() {
  

  String m_sConnectUrl = "XML주소";
  XmlData xmlData = null;

  String sTag;

  try {

   XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
   factory.setNamespaceAware(true);
   XmlPullParser parser = factory.newPullParser();

   URL u = new URL(m_sConnectUrl);
   InputStream in = u.openStream();

   parser.setInput(in, "utf-8");

   int eventType = parser.getEventType();
   while (eventType != XmlPullParser.END_DOCUMENT) {
    switch (eventType) {
    case XmlPullParser.START_DOCUMENT:
     break;
    case XmlPullParser.END_DOCUMENT:
     break;
    case XmlPullParser.START_TAG:
     sTag = parser.getName();
     xmlData = new XmlData();
     if (sTag.equals("EMAIL")) {
      xmlData.EM_MSGID = parser.getAttributeValue(null, "EM_MSGID");
      xmlData.EM_SUBJECT = parser.getAttributeValue(null, "EM_SUBJECT");
      xmlData.EM_RECEIVEDT = parser.getAttributeValue(null, "EM_RECEIVEDT");
      xmlData.PN_ALIES = parser.getAttributeValue(null, "PN_ALIES");
     }
     break;
    case XmlPullParser.END_TAG:
     sTag = parser.getName();
     if (sTag.equals("EMAIL")) {
      m_xmlData.add(xmlData);
      xmlData = null;
     }
     
     break;
    case XmlPullParser.TEXT:
     break;
    }

    eventType = parser.next();
   }

  } catch (Exception e) {
   // TODO: handle exception
  }
  return m_xmlData;
 }
}