2011-04-11 46 views
0

我有這個解析示例,它工作正常,但我無法弄清楚,如何獲取listview中的所有數據。你能幫我找到解決辦法嗎?感謝如何將數據從xml解析器傳遞到列表視圖

public class XMLParsingExample extends ListActivity { 

    /** Create Object For SiteList Class */ 
    SitesList sitesList = null; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     /** Create a new layout to display the view */ 
      // LinearLayout layout = (LinearLayout) findViewById(R.id.layout); 
      LinearLayout layout = new LinearLayout(this); 
      layout.setOrientation(1); 

      /** Create a new textview array to display the results */ 
      TextView name[]; 

      try { 

        /** Handling XML */ 
        SAXParserFactory spf = SAXParserFactory.newInstance(); 
        SAXParser sp = spf.newSAXParser(); 
        XMLReader xr = sp.getXMLReader(); 

        /** Send URL to parse XML Tags */ 
        URL sourceUrl = new URL("http://xxx/xxx/example.xml"); 

        /** Create handler to handle XML Tags (extends DefaultHandler) */ 
        MyXMLHandler myXMLHandler = new MyXMLHandler(); 
        xr.setContentHandler(myXMLHandler); 
        xr.parse(new InputSource(sourceUrl.openStream())); 

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

      /** Get result from MyXMLHandler SitlesList Object */ 
      sitesList = MyXMLHandler.sitesList; 

      /** Assign textview array lenght by arraylist size */ 
      name = new TextView[sitesList.getName().size()]; 

      /** Set the result text in textview and add it to layout */ 
      for (int i = 0; i < sitesList.getName().size(); i++) { 
        name[i] = new TextView(this); 
        name[i].setText("Name = " + sitesList.getName().get(i)); 
        layout.addView(name[i]); 
      } 

      /** Set the layout view to display */ 
      setContentView(layout); 

    } 
} 

回答

0

如果XML僅僅是一個簡單的字符串的集合,你可以以某種方式解析它String[],然後只用ArrayAdapter

如果你的數據更加複雜,你可以實現自己的BaseAdapter孩子和做所有綁定在這裏。它將在構造函數中接受已分析的XML,然後使用它來獲取所有數據並將其綁定到視圖。

+0

它是一個簡單的字符串集合,我試圖使用一個arrayadapter,但不知何故它不工作。是不是有我可以使用的示例代碼? – bebe 2011-04-11 10:49:15

+0

@bebe看看這個使用ArrayAdapter和ListView的例子:http://developer.android.com/resources/tutorials/views/hello-listview.html – Olegas 2011-04-11 10:54:43

相關問題