ListView 更高效的使用 Adapter

2021-06-20 14:26:06 字數 1017 閱讀 7901

一、adapter

adapter是listview和資料來源之間的中間人。

當每條資料進入可見區時,adapter會呼叫他的getview()方法,並返回代表具體資料的檢視。滾動的時候頻繁呼叫,支援成千上萬的資料。

①、最簡單的方法,最慢最不實用

public

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

②、利用convertview**檢視,效率提高200%

public

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

(textview)convertview.findviewbyid(r.id.text).settext(data[position]);

(imageview)convertview.findviewbyid(r.id.img).setimagebitmap(icon);
return convertview;

}

③、使用viewholder模式,效率再提高50%

static

class viewholder

public

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

holder.tv.settext(data[position]);

holder.iv.setimagebitmap(icon);

return convertview;

}

更新的效率比較:

使用python更高效

1.判斷字典key是否存在 in的處理速度更快,has key方法在python3被移除 def has dict key d bad if d.has key name d.get name good if name in d d.get name 2.使用git獲取字典的值 使用d x 訪問元素...

ListView高效分頁

原因 傳統的objectdatasource作為資料來源,繫結listview,可以不寫一行 而完成插入 刪除 更新 刪除 分頁等的功能!異常的強大!但listview預設的分頁方式是從資料庫中取出所有的資料在根據頁號等顯示分頁後的資料,所以我們想能不能某頁就從資料中去會特定的資料呢?答案是 可以的...

更高效的Fibonacci求解

兩種思想三種方式實現斐波那序列求解,一種是傳統遞迴的思想,一種是動態規劃的思想,動態規劃又分為top down和bottom up兩種方式。fast fibonacci.cpp 定義控制台應用程式的入口點。include stdafx.h include include support for cl...