Android BaseAdapter 和ListAdapter的介紹

Baseadapter

正文

  一、結構

public abstract class BaseAdapter

extends Object implements ListAdapter SpinnerAdapter

        

java.lang.Object

android.widget.BaseAdapter

 

直接子類

         ArrayAdapter<T>, CursorAdapter, SimpleAdapter

間接子類

ResourceCursorAdapter, SimpleCursorAdapter

 

  二、概述

    用於ListView(實現指定的ListAdapter接口)Spinner(實現指定的SpinnerAdapter接口)的共同實現一個公共基類適配器。

 

  三、公共方法

public abstract boolean areAllItemsEnabled ()

ListAdapter中所有的項目都是可用的?如果是,則代表所有的項目都是可選擇,可用鼠標點擊的。

返回值

如果所有項目是可用的返回真

 

public abstract View getDropDownView (int position, View convertView, ViewGroup parent)

獲得一個在指定位置上顯示下拉彈出數據的視圖。

參數

       position 想得到項目視圖的索引

       convertView   如果可能舊有的視圖重新使用。註解:在使用之前應該檢查這個視圖不是空的並且類型合適。如果轉換視圖顯示正確的數據是不可能的,這個方法能夠創建一個新的視圖

parent     視圖最終將依附的父對象。

返回值

一個對應指定位置的數據的視圖。

 

public int getItemViewType (int position)

獲取通過getView爲指定項目創建的視圖的類型。

       參數

              position adapter數據裏我們想知道視圖類型的項目的位置

       返回值

              一個整形的視圖類型的描述。如果一個視圖通過getView(int, View, ViewGroup)方法轉換成另一個視圖,則兩個視圖將共享同一類型。注意:整形必須在0getViewTypeCount()– 1之間。IGNORE_ITEM_VIEW_TYPE也可以返回。

 

public int getViewTypeCount ()

返回通過getView(int, View, ViewGroup))創建的視圖的類型數量。每一個類型表示一組通過getView(int, View, ViewGroup)方法轉換過的視圖。如果adapter針對所有項目返回相同的視圖類型,這個方法返回1

這個方法僅僅當adapter設置在AdapterView時調用。

       返回值

通過這個adapter創建的視圖類型的數量

 

public boolean hasStableIds ()

表明是否項目ID時對基礎數據的變化保持穩定的。

       返回值

如果相同的ID指相同的對象,返回真

 

public boolean isEmpty ()

adapter數據項是否等於零

 

public boolean isEnabled (int position)

如果指定的位置不是一個隔離項目(隔離項目是一個不可選擇,不可用鼠標點擊的項目)則返回真。如果位置是無效的,其結果將是不確定的。在這種情況下一個ArrayIndexOutOfBoundsException(越界)異常將拋出

       參數

              position 項目的索引

       返回值

如果這個項目不是一個隔離項目則返回真。

 

public void notifyDataSetChanged ()

通知附屬的視圖基礎數據已經改變,視圖應該自動刷新。

 

public void notifyDataSetInvalidated ()

監控數據的observer不再有效

 

public void registerDataSetObserver (DataSetObserver observer)

註冊一個用於adapterobserver(觀察者:監控數據發生改變時被調用)

       參數

              observer 當數據發生改變時得到通知的對象

 

public void unregisterDataSetObserver (DataSetObserver observer)

移除先前通過registerDataSetObserver(DataSetObserver)方法註冊過的observer(觀察者:監控數據發生改變的類)

參數

                     observer 移除註冊的對象       

ListAdapter

正文

  一、結構

public interface ListAdapter extends Adapter

        

android.widget.ListAdapter

 

直接子類

         ArrayAdapter<T>, BaseAdapter, CursorAdapter, HeaderViewListAdapter, ResourceCursorAdapter, SimpleAdapter, SimpleCursorAdapter, WrapperListAdapter


 

  二、概述

    擴展Adapter 是在ListView與數據之間的一座橋樑。通常數據來自於遊標,但不是必須的。ListView可以顯示包含在ListAdapter裏的所有數據。

    

 

  三、公共方法

public abstract boolean areAllItemsEnabled ()

ListAdapter中所有的項目都是可用的?如果是,則代表所有的項目都是可選擇,可用鼠標點擊的。

                  返回值

如果所有項目是可用的返回真

 

public abstract boolean isEnabled (int position)

如果指定的位置不是一個隔離(separator)項目(隔離項目是一個不可選擇,不可用鼠標點擊的項目)則返回真。如果位置是無效的,其結果將是不確定的。在這種情況下一個ArrayIndexOutOfBoundsException(越界)異常將拋出。

參數

                            position    項目的索引

返回值

如果這個項目不是一個隔離(separator)項目則返回真。


轉載自:http://www.cnblogs.com/over140/archive/2010/12/03/1895128.html

http://www.cnblogs.com/over140/archive/2010/12/06/1897436.html 謝謝農民伯伯的翻譯

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章