2010-09-02 2 views
0

я сделать пример разбора XML сLayout Синтаксический Xml

http://www.androidpeople.com/android-xml-parsing-tutorial-using-saxparser/ 

в этом примере, компоновка с использованием TextView массива ..

Я попытался изменить макет в ListView, но не работает ..

Я получаю ошибку в адаптере. Может ли кто-нибудь мне помочь?

ответ

1

изменить ваш класс XMLParsingExample.java

public class XMLParsingExample extends Activity { 

    SitesList sitesList = null; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     LinearLayout layout = new LinearLayout(this); 
     layout.setOrientation(1); 
     ListView listVw = new ListView(this); 
     ArrayList<String> listItm = new ArrayList<String>(); 

     try { 

      SAXParserFactory spf = SAXParserFactory.newInstance(); 
      SAXParser sp = spf.newSAXParser(); 
      XMLReader xr = sp.getXMLReader(); 
      URL sourceUrl = new URL(
        "http://www.androidpeople.com/wp-content/uploads/2010/06/example.xml"); 

      MyXMLHandler myXMLHandler = new MyXMLHandler(); 
      xr.setContentHandler(myXMLHandler); 
      xr.parse(new InputSource(sourceUrl.openStream())); 

     } catch (Exception e) { 
      System.out.println("XML Pasing Excpetion = " + e); 
     } 
     sitesList = MyXMLHandler.sitesList; 

     for (int i = 0; i < sitesList.getName().size(); i++) { 
      listItm.add("Name = " + sitesList.getName().get(i)); 
      listItm.add("Website = " + sitesList.getWebsite().get(i)); 
      listItm.add("Website Category = " + sitesList.getCategory().get(i)); 
     } 
     listVw.setAdapter(new ArrayAdapter<String>(this, 
       android.R.layout.simple_list_item_1, listItm)); 

     layout.addView(listVw); 
     setContentView(layout); 

    } 
} 

запустить этот код и получить все разборе значение в ListView.