ListView之BaseAdapter的基本使用

2021-08-07 05:09:49 字數 901 閱讀 5335

當******adapter和arrayadapter不能滿足我們的需求時,我們就需要通過繼承baseadapter來建立我們自定義的介面卡

(1)baseadapter的基本結構(方法):

— getcount():介面卡資料集中資料個數

— getitem(int position):從資料集中獲取指定位置的資料項

— getitemid(int position):獲取指定項對應的id

— view getview(int , view , viewgroup): 獲取每乙個item的顯示內容

(2)步驟

1.準備好listview的布局檔案以及需要顯示的item的布局檔案

2.建立乙個類來封裝我們item中的內容,並在構造器中初始化,形成一一對應

3.建立介面卡:

— 建立需要的變數以及layoutinflater

— 構造方法(傳進資料來源和上下文)—— 通過context來對layoutinflater初始化

— 實現具體方法

— getview方法:

(1)建立內部類viewholder:定義成員變數來item布局中的控制項

(2)判斷convertview是否為空

(3)通過settag將viewholder與convertview繫結

(4)當不為空,通過gettag方法獲取viewholder物件

(5)這樣就可以利用好listview的快取機制以及減少用findviewbyid()的次數,提高效率。

ym Android之ListView效能優化

謝謝支援!android之listview效能優化 假設有看過我寫過的15k面試題的朋友們一定知道。listview的優化方式有下面幾種 重用了convertview viewholder static class viewholder 在列表裡面有的情況下,監聽滑動不載入 以上是大致的說了下面,應...

ListView優化之ViewType使用

對listview的優化可以採用viewholder,其原理就是復用了convertview,public view getview int position,view convertview,viewgroup parent 有時listview並不是每個item的布局都相同,比如 這個時候傳遞進...

android之簡單的ListView

listview這個控制項,程式設計師1 3的時間可能都在用到 今天在eoe看到乙個自學的新人,買了極客的vip跟著學 在寫listview 但是我發現他用的是系統的list item,卻又在布局裡面定義了乙個 這毫無作用 所以覺得應該記錄下來,如果有新人再看到,就算提示一下吧 順便縷一下自己的思路...