您的位置:首页 > 其它

pull解析

2016-05-30 20:20 267 查看
package com.example.pull_jiexi;

import java.io.IOException;

import java.util.ArrayList;

import java.util.List;

import org.xmlpull.v1.XmlPullParser;

import org.xmlpull.v1.XmlPullParserException;

import com.example.bean.Person;

import android.os.Bundle;

import android.app.Activity;

import android.util.Xml;

import android.view.Menu;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.ListView;

import android.widget.TextView;

public class MainActivity extends Activity {

private ListView lv;

private List<Person> list;

private List<Person> pull_list;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

lv = (ListView) findViewById(R.id.lv);

pull_list = pull();

BaseAdapter adapter=new BaseAdapter() {

@Override

public View getView(int position, View convertView, ViewGroup parent) {

View view=View.inflate(MainActivity.this, R.layout.item, null);

TextView tv_name = (TextView) view.findViewById(R.id.tv_name);

TextView tv_age = (TextView) view.findViewById(R.id.tv_age);

tv_name.setText(pull_list.get(position).getName());

tv_age.setText(pull_list.get(position).getAge()+"");

return view;

}

@Override

public long getItemId(int position) {

// TODO Auto-generated method stub

return 0;

}

@Override

public Object getItem(int position) {

// TODO Auto-generated method stub

return null;

}

@Override

public int getCount() {

// TODO Auto-generated method stub

return pull_list.size();

}

};

lv.setAdapter(adapter);

}

private List<Person> pull(){

list = new ArrayList<Person>();

//得到一个pull解析对象

XmlPullParser parser=Xml.newPullParser();

try {

parser.setInput(getAssets().open("person.xml"), "utf-8");

int type = parser.getEventType();

String name="";

String age="";

while(type!=XmlPullParser.END_DOCUMENT){

String nodeName=parser.getName();

switch (type) {

case XmlPullParser.START_TAG:

if("name".equals(nodeName)){

name=parser.nextText();

}else if("age".equals(nodeName)){

age=parser.nextText();

}

break;

case XmlPullParser.END_TAG:

if("person".equals(nodeName)){

list.add(new Person(name,Integer.parseInt(age)));

}

break;

}

type=parser.next();

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return list;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: