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)方法轉換成另一個視圖,則兩個視圖將共享同一類型。注意:整形必須在0和getViewTypeCount()– 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)
註冊一個用於adapter的observer(觀察者:監控數據發生改變時被調用)
參數
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 謝謝農民伯伯的翻譯