Android代碼碎片(二)

帶圖標的ListView

activity_main.xml的RelativeLayout中定義了一個ListView          android:id="@+id/listView",
另外我們創建items.xml,裏頭包括一個ImageView android:id="@+id/image"和一個TextView android:id="@+id/title"
MainActivity.java
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView listView = (ListView)findViewById(R.id.listView);
int[] imageId = new int[]{R.drawable.facebook, R.drawable.googleplus, R.drawable.twitter, R.drawable.youtube};
String[] title = new String[]{"facebook", "googleplus", "twitter", "youtube"};
List<Map<String, Object>> listItems = new ArrayList<Map<String, Object>>();
for(int i = 0; i < imageId.length; i++){
Map<String, Object> map = new HashMap<String, Object>();
map.put("image", imageId[i]);
map.put("title", title[i]);
listItems.add(map);
}
SimpleAdapter adapter = new SimpleAdapter(this, listItems, R.layout.items, 
new String[]{"title", "image"}, new int[]{R.id.title, R.id.image});
listView.setAdapter(adapter);

週期性執行任務

/*
* when:幾毫秒後第一次執行
* period:執行間距,也就是幾時後再執行
*/
new Timer().schedule(new TimerTask() {
public void run() {
}
}, 0, 1200);

解析XML文件

我們在res下新建了xml文件夾,放置city.xml
<?xml version="1.0" encoding="UTF-8"?>
<country>
    <province name="吉林">
        <shenghui>長春</shenghui>
    </province>
    <province name="廣東">
        <shenghui>廣州</shenghui>
    </province>
</country>


解析關鍵代碼如下:

/*新建XmlPullParser方式一:

XmlPullParser parser = Xml.newPullParser();

parser.setInput(inputStream, "utf-8");*/

/*新建XmlPullParser方式二(與上面一種方法其實都會生成KXmlParser):

XmlPullParserFactory factory = XmlPullParserFactory.newInstance();  
XmlPullParser parser = factory.newPullParser(); */


XmlPullParser parser = getResources().getXml(R.xml.city);
int type;
type = parser.getEventType();
String songId = null;
while(type != XmlPullParser.END_DOCUMENT){
switch (type) {
case XmlPullParser.START_TAG:
if("province".equals(parser.getName())){
Log.v("省份", parser.getAttributeValue(0));
}

else if("shenghui".equals(parser.getName())){

//nextText()會讓解析位置改變,從而使得事件發生改變,所以不要在這一個if用兩次nextText,可用變量暫存起來

Log.v("省會", parser.nextText());
}
break;
}
type = parser.next();
}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章