ListView等的Adapter優化

2021-08-25 19:51:56 字數 956 閱讀 5414

眾所周知,adapter是listview與介面和資料之間的橋梁,通過adapter中的gerview()方面來獲得介面要顯示的view,但你有沒有想過,當listview中資料量很大時,如何對adapter進行優化呢?

以下有三種實現方式,具體來看一下。

1.

public view getview(int position, view convertview, viewgroup parent)
這是最簡單的一種方式,沒有經過任何的優化,菜鳥級別的人很容易這樣做。

2.

public view getview(int position, view convertview, viewgroup parent)

((imageview) v.findviewbyid(r.id.icon)).setimageresource(r.drawable.icon);

((textview) v.findviewbyid(r.id.text)).settext(mdata[position]);

return convertview;

}

這是一種稍微改進的方式,有形成每個listview的item時,每個item的容器物件進行了重得利用。

3.

public view getview(int position, view convertview, viewgroup parent)  else 

holder.icon.setimageresource(r.drawable.icon);

holder.text.settext(mdata[position]);

return convertview;

} static class viewholder

這是09年google io大會上給出的優化建議,經過改進後,在處理大量資料的時候,確實流暢了很多。

文章參照:

詳細記錄listview的各種Adapter

這些adapter真的很多,一般情況下都是寫好乙個,然後用的地方複製貼上修改。想要記住,太困難。而且各種各樣的adpater需要各種各樣的引數來配置,真是很煩。這裡做一次整理方便以後複製,唉。1.arrayadapter 這幾個是最簡單形式的構造 arrayadapter context conte...

關於RecyclerView的Adapter封裝

專案開發中會涉及到很多列表的頁面。如果每個頁面都寫乙個adapter,我們估計會瘋掉。我現在的目的就是在保證質量的同時要寫更少的 所以,封裝唄。recyclerview有自己的adapter和檢視管理。我們只需要把例項化時要傳入的引數泛型抽象,對不同的view實現不同的獲取與設定內容的方法即可。ad...

ListView巢狀ListView的思路

1.在activity中,布局中新增原生listview作為 父listview 2.在父listview中新增自定義的 子listview 3.子listview中的布局為單個item的布局。4.書寫父listview的adapter public class eventcitylistadapt...