編輯:Android開發實例
正文
一、結構
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)
Register an observer that is called when changes happen to the data used by this adapter.
注冊一個用於adapter的observer(觀察者:監控數據發生改變時被調用)
參數
observer 當數據發生改變時得到通知的對象
public void unregisterDataSetObserver (DataSetObserver observer)
移除先前通過registerDataSetObserver(DataSetObserver)方法注冊過的observer(觀察者:監控數據發生改變的類)
參數
observer 移除注冊的對象
四、補充
文章鏈接
Android BaseAdapter 例子
BaseAdapter的Bug
Android中萬能的BaseAdapter(Spinner,ListView,GridView)的使用!
結束
"德羅德"為當前翻譯組較為活躍的"議員",感謝他為大家帶來精彩的譯文 :)
本文著重講解如何使用MaskFilter創建模糊陰影以及浮雕效果。 我們知道Canvas中的各種
對於很多初學者或者剛工作的Android新手來說,我們的項目經驗還停留在做demo的階段,有沒有一種很low的感覺,並且當你真正上手做大項目的時候又
JSON代表JavaScript對象符號。它是一個獨立的數據交換格式,是XML的最佳替代品。本章介紹了如何解析JSON文件,並從中提取所需的信息。Android提供了四個
JSON代表JavaScript對象符號。它是一個獨立的數據交換格式,是XML的最佳替代品。本章介紹了如何解析JSON文件,並從中提取所需的信息。Android提供了四個