public class MainActivity extends AppCompatActivity {
private List<Beauty> beautyList = null;
private ListView listView;
private ArrayAdapter<String> adapter;
List<String> mlist = new ArrayList<String>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = (ListView) findViewById(R.id.listView);
beautyList = parseXMLwithPull();
if (beautyList != null) {
for (int i = 0; i < beautyList.size(); i++) {
mlist.add(beautyList.get(i).getName());
}
}
adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,mlist);
listView.setAdapter(adapter);
}
private List<Beauty> parseXMLwithPull() {
List<Beauty> mList = null;
Beauty beauty = null;
try {
InputStream in = getAssets().open("beauties.xml");
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
XmlPullParser parser = factory.newPullParser();
parser.setInput(in,"utf-8");
int eventType = parser.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
String nodeName = parser.getName();
switch (eventType) {
case XmlPullParser.START_DOCUMENT:{
mList = new ArrayList<Beauty>();
break;
}
case XmlPullParser.START_TAG:{
if(nodeName.equals("beauty")) {
beauty = new Beauty();
} else if (nodeName.equals("name")) {
beauty.setName(parser.nextText());
Log.d("MainActivity",beauty.getName());
} else if (nodeName.equals("age")) {
beauty.setAge(parser.nextText());
}
break;
}
case XmlPullParser.END_TAG: {
if(nodeName.equals("beauty")) {
mList.add(beauty);
beauty = null;
}
break;
}
default:
break;
}
eventType = parser.next();
}
} catch (Exception e) {
e.printStackTrace();
}
return mList;
}
}
Beauty为封装好的Bean类,beauties为android studio 下新建assets文件夹下的xml安装后为什么在listView中显示不出来...