新聞中心
listview控件使用詳解?

成都創(chuàng)新互聯(lián)公司是一家專業(yè)從事網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)的品牌網(wǎng)絡(luò)公司。如今是成都地區(qū)具影響力的網(wǎng)站設(shè)計(jì)公司,作為專業(yè)的成都網(wǎng)站建設(shè)公司,成都創(chuàng)新互聯(lián)公司依托強(qiáng)大的技術(shù)實(shí)力、以及多年的網(wǎng)站運(yùn)營(yíng)經(jīng)驗(yàn),為您提供專業(yè)的成都網(wǎng)站建設(shè)、營(yíng)銷型網(wǎng)站建設(shè)及網(wǎng)站設(shè)計(jì)開(kāi)發(fā)服務(wù)!
VB中ListView的用法:
listview控件可有4種不同的視圖顯示方法,跟“資源管理器”里的“查看”方式相似:
1)無(wú)圖標(biāo);
2)小圖標(biāo);
3)列表;
4)報(bào)表式。
列表,它作為一種非常重要的顯示形式,不管是在web端還是在移動(dòng)平臺(tái)上,都是一種非常友好的,功能強(qiáng)大的展現(xiàn)形式。在Android中,ListView就接管了這一重任。盡管在Android5.X時(shí)代,后起之秀RecyclerListView在很多地方會(huì)取代ListView。但這依然無(wú)法撼動(dòng)ListView這個(gè)老大哥的地位。既然,ListView這么重要,我看十分有必要對(duì)ListView的用法做一個(gè)總結(jié)。
利用ViewHolder來(lái)提高ListView的`執(zhí)行效率是有目共睹的,ViewHolder模式是充分利用ListView的View視圖緩存機(jī)制,避免了ListView每次調(diào)用getView的時(shí)候,都需要調(diào)用getView方法,極大提升了ListView的運(yùn)行效率,據(jù)說(shuō),這種方式能提升效率50%以上。android中scrollview和listview那個(gè)高效些為什么?
下圖是android學(xué)習(xí)手冊(cè)中關(guān)于listview與scrollview的處理以及事件沖突,360手機(jī)助手中可下載。
這兩個(gè)控件的作用不一樣。
首先,當(dāng)ListView中有很多個(gè)item要顯示,以致屏幕不能完全顯示時(shí),ListView自帶滾動(dòng)條,通過(guò)滑動(dòng)就可以查看全部。但也可以將ListView嵌套在ScrollView中,同樣可以達(dá)到相同的顯示效果。但是,顯示的相同,并不代表實(shí)際處理效果是一樣的。ListView自帶的滾動(dòng)條對(duì)于”長(zhǎng)數(shù)據(jù)“的處理方法是,只加載當(dāng)前屏幕能顯示的item,也就是說(shuō)當(dāng)前屏幕能顯示幾個(gè)item,就去加載幾個(gè)item。一旦滑出屏幕就被銷毀。當(dāng)再次進(jìn)入屏幕時(shí),會(huì)重新加載這個(gè)position位置的item。而ScrollView卻完全不同,ScrollView滾動(dòng)視圖是指當(dāng)擁有很多內(nèi)容,屏幕顯示不完時(shí),需要通過(guò)滾動(dòng)跳來(lái)顯示的視圖。也可以把ScrollView看成一個(gè)無(wú)限長(zhǎng)的屏幕,當(dāng)ListView嵌套在ScrollView中時(shí),會(huì)把所有的item都加載完,不論是否在當(dāng)前屏幕中顯示與否。也就是說(shuō)當(dāng)用ScrollView去嵌套一個(gè)ListView時(shí),而同時(shí)ListView中又有很多的item,這時(shí)會(huì)很消耗系統(tǒng)資源。spinner可以實(shí)現(xiàn)動(dòng)態(tài)添加刪除內(nèi)容嗎?
Android的listview和spinner等組件都采用了MVC模式來(lái)操作數(shù)據(jù),也就是說(shuō),不能直接調(diào)用組件類的方法(如add或其他類似的方法)來(lái)添加、刪除數(shù)據(jù)。而要通過(guò)一個(gè)Adapter對(duì)象(SimpleAdapter、ArrayAdapter等)來(lái)完成這個(gè)工作。
ListView相當(dāng)于MVC中的V(視圖層),用來(lái)顯示數(shù)據(jù)。Adapter對(duì)象相當(dāng)于C(控制層),用來(lái)將數(shù)據(jù)(數(shù)組、List)與ListView連接在一起。因此,操作數(shù)據(jù)需要在Adapter對(duì)象中進(jìn)行。
如果列表項(xiàng)很復(fù)雜,可以自定義Adapter類(一般從BaseAdapter類繼承)。然后在Adapter類中添加相應(yīng)的增加、刪除等方法。
當(dāng)然,也可以直接更改數(shù)據(jù)源(數(shù)組或List對(duì)象),然后調(diào)用Adapter類的notifyDataSetChanged方法來(lái)通知Adapter對(duì)象數(shù)據(jù)已經(jīng)改變。
ListView或Spinner會(huì)自動(dòng)更新相應(yīng)的列表項(xiàng)。最近在寫一本關(guān)于Android開(kāi)發(fā)的書(shū),里面詳細(xì)介紹了這個(gè)過(guò)程,并提供了大量的例子以供參考。
當(dāng)前名稱:Android入門教程之ListView的具體使用詳解
當(dāng)前路徑:http://www.fisionsoft.com.cn/article/coicihd.html


咨詢
建站咨詢
