阅读xml并创建可单击的列表视图

阅读xml并创建可单击的列表视图,xml,android-listview,xml-parsing,Xml,Android Listview,Xml Parsing,大家好,我需要一些帮助来让这个工作:) 我要做的是使此listview中的每一行都可单击。 示例:当我单击Name1时,我希望它收集其余的项目(2-3),并使其在新窗口中可见。 注意:我还没有收集下一个窗口中显示的信息。现在我只是想进入“下一个窗口”显示项目1-3的信息。如何做到这一点 我正在读取和解析一个本地XML文件,该文件如下所示: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <data-set xmln

大家好,我需要一些帮助来让这个工作:) 我要做的是使此listview中的每一行都可单击。 示例:当我单击Name1时,我希望它收集其余的项目(2-3),并使其在新窗口中可见。 注意:我还没有收集下一个窗口中显示的信息。现在我只是想进入“下一个窗口”显示项目1-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)

名称1
1.
2746
姓名2
2.
3842
无论什么
无论什么
…随便什么(注意,这是一个非常长的xml文件,包含大量记录和项目)
我的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 );
ArrayList myarraylist=new ArrayList();
无论什么
无论什么
while(type!=XmlPullParser.END_文档){
if(type==XmlPullParser.START\u文档){
}
else if(type==XmlPullParser.START_标记){
nameSTARTTAG=parser.getName();
}
else if(type==XmlPullParser.TEXT){
if(parser.isWhitespace())
{
}
else if(namestatag!=“记录”&&namestatag!=“数据集”&&namestatag!=“空”)
{
ItemInfo=parser.getText();
if(namestTag.equals(“item1”))
{
添加(“+nameSTARTTAG+”:“+ItemInfo”);
}
}
}
else if(type==XmlPullParser.END_标记){
}
type=parser.next();
}
listAdapter=new ArrayAdapter(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>

是的,我找到了一个方法:) 这就成功了:

lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View v, int position,
        long arg3) 
{
    String name = arg0.getItemAtPosition(position).toString()
}
});
lv.setOnItemClickListener(新的OnItemClickListener(){
公共视图单击(AdapterView arg0,视图v,内部位置,
长arg3)
{
字符串名称=arg0.getItemAtPosition(position).toString()
}
});