阅读xml并制作可点击的列表视图

时间:2014-03-27 16:13:46

标签: xml android-listview xml-parsing

大家好,我需要一些帮助才能让这个工作:) 我想要做的是使这个列表视图中的每一行都可以点击。 示例:当我单击Name1时,我希望它收集剩余的项目(2-3)并使其在新窗口中可见。 注意:我还没有收集下一个窗口中显示的信息。现在我只是为了能够进入下一个窗口"显示item1-3的信息。如何实现这一目标?

我正在阅读和解析一个如下所示的本地XML文件:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<data-set xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <record>
        <item1>Name1</item1>
        <item2>1</item2>
        <item3>2746</item3>
    <record>
        <item1>Name2</item1>
        <item2>2</item2>
        <item3>3842</item3>
....whatever
....whatever    
....whatever (Note it is a very long xml file with a lots of records and items)

我的XML解析代码:

ArrayList<String> myarraylist = new ArrayList<String>();
....whatever
....whatever    

while(type != XmlPullParser.END_DOCUMENT) {
    if(type == XmlPullParser.START_DOCUMENT) {
    }
    else if(type == XmlPullParser.START_TAG) {
        nameSTARTTAG = parser.getName();
    }
    else if(type == XmlPullParser.TEXT) {
        if(parser.isWhitespace())
        {
        }
        else if(nameSTARTTAG != "record"&& nameSTARTTAG != "data-set" && nameSTARTTAG != "null")
        {
            ItemInfo = parser.getText();
            if(nameSTARTTAG.equals("item1"))
            {
                myarraylist.add(""+ nameSTARTTAG + ": " + ItemInfo);
            }
        }
    }
    else if(type == XmlPullParser.END_TAG) {
    }
    type = parser.next();
}
listAdapter = new ArrayAdapter<String>(this, R.layout.simplerow, myarraylist);
mainListView.setAdapter( listAdapter );

Mylistview:

 <ListView android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:id="@+id/mainListView"
     android:clickable="true">
 </ListView>

1 个答案:

答案 0 :(得分:0)

地狱耶,我找到了办法:) 这就是诀窍:

lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View v, int position,
        long arg3) 
{
    String name = arg0.getItemAtPosition(position).toString()
}
});