2010-09-02 71 views
0

我是做例子,从布局解析XML

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

在这个例子中解析XML,使用数组的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); 

    } 
} 

运行这段代码并获得列表视图的所有分析的价值。