atomQQ 筆記 之 列表元素的異步加載
在list當中,如果自定義item中的內容是從網絡獲取的,并且要求較高的實時性,那么就需要異步加載,這樣,只需要顯示在屏幕上的item以及即將被顯示的item去獲取網絡資源,不至于對網絡訪問占用很大的帶寬,在移動應用中尤其要這么做。

下面是我實現item加載頭像、昵稱|備注名稱、個性簽名的異步加載方法。
首先,list是與adapter適配器綁定。
ListadAdapter與ExpanedListAdapter當中有幾個必須實現的方法:
public Object getChild(int group, int child)
public long getChildId(int group, int child)
public View getChildView(int group, int child, boolean isLastChild, View convertView,
ViewGroup parent)
public int getChildrenCount(int group)
public Object getGroup(int group)
public int getGroupCount()
public long getGroupId(int group)
public View getGroupView(int group, boolean isExpanded, View convertView,
ViewGroup parent)
我們要在獲取view的方法或者干脆在view里面做手腳,在加載view的同時,訪問網絡,并將內容顯示在view當中。
我是在view當中添加了幾個邏輯代碼,用以獲取數據并加載,為了提高用戶體驗,首先加載一個默認頭像以及簽名,通過線程再從網上獲取內容并加載至ui。
具體細節就不羅嗦了,網上很多例子,以及提高list效率的代碼,也就是通過靜態類來復用view來提高加載效率
浙公網安備 33010602011771號