【问题标题】:How to display List of XML in Listview如何在 Listview 中显示 XML 列表
【发布时间】:2013-02-11 15:53:39
【问题描述】:

我想显示这个 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");
        }

    }

如果我能得到这方面的帮助,将不胜感激

【问题讨论】:

  • 您遇到了什么问题?它会抛出任何异常吗?文档是否被解析?努力制定您遇到的问题到底是什么。

标签: android list listview xml-parsing


【解决方案1】:

您将需要创建一个自定义列表视图适配器来实现这一点。 See this了解更多详情

【讨论】:

  • 不,没有必要。 OP 很可能最终会这样做,但这与问题无关。
  • 但是我该如何解决我正在解决的问题我是新手我可以得到一个解决方案的代码示例因为我一直在努力让它工作一个多星期在各种不同的例子中
  • 您只需要创建列表视图项的自定义布局,然后解析数据并相应地添加列表视图。由于您使用的是单个字符串,因此在 arraylist 中嵌入四个值将不是理想的情况
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-21
  • 2010-10-02
  • 2019-02-13
  • 1970-01-01
相关资源
最近更新 更多