Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android API 中文 (53) —— BaseAdapter

Android API 中文 (53) —— BaseAdapter

編輯: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)的使用!

 

 

結束
 

   "德羅德"為當前翻譯組較為活躍的"議員",感謝他為大家帶來精彩的譯文 :)
 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved