0

我想显示这个 XML 文件的属性

<carparkData>
    <carpark name="PARNELL" spaces="105"> </carpark>
    <carpark name="ILAC" spaces="519"> </carpark>
    <carpark name="JERVIS" spaces="627"> </carpark>
    <carpark name="ARNOTTS" spaces="162"> </carpark>
</carparkData>

到目前为止,我已将属性添加到列表中(我认为)

public class HandelingXML extends DefaultHandler {


ArrayList<CarparkNode> carparks = new ArrayList<CarparkNode>();
CarparkNode carparkNode = null;

public void startElement(String namespaceURI, String localName, String qName, Attributes atts) throws SAXException {
    if(localName.equals("carpark")) {
        CarparkNode pageNode = new CarparkNode();
        CarparkNode.carPark = atts.getValue("name");
        CarparkNode.spaces = atts.getValue("spaces");
        carparkNode.carparks.add(pageNode);
    }

添加到一个句子

public static class CarparkNode {
    public static String carPark;
    public static String spaces;

    public void setCarPark(String c)
    {
        carPark = c;        
    }
    public void setSpace (String s)
    {
        spaces = s;
    }
    public String toString() {
        return carPark + "   " + spaces + " spaces";
    }
    public ArrayList<CarparkNode> carparks = new ArrayList<CarparkNode>();      
}

我想调用列表并将其显示在列表视图中,但无法正常工作

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.listview);
        tvcp = (TextView)findViewById(R.id.txtcp);

        StringBuilder URL = new StringBuilder(baseURL);
        String fullURL = URL.toString();
        try{
            URL website = new URL(fullURL);
            SAXParserFactory spf = SAXParserFactory.newInstance();
            SAXParser sp = spf.newSAXParser();
            XMLReader xr = sp.getXMLReader();
            HandelingXML gettingData = new HandelingXML();
            xr.setContentHandler(gettingData);
            xr.parse(new InputSource(website.openStream()));
            //String information = gettingData.getInformation();
            //tvcp.setText(information);
            //int position;
            CarparkNode carparkNode = carparkNode.carparks.get(position);
            this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, carparkNode.carparks));

            }catch(Exception e){
            tvcp.setText("error");
        }

    }

如果我能得到帮助,将不胜感激

4

1 回答 1

0

您将需要创建一个自定义列表视图适配器来实现这一点。有关更多详细信息,请参阅此

于 2013-02-11T16:02:44.147 回答