?
本文檔使用 php中文網(wǎng)手冊 發(fā)布
AdapterView
版本:Android 2.3 r1
?
結(jié)構(gòu)
繼承關(guān)系
public abstract class AdapterView<T extends Adapter> extends ViewGroup
????????
java.lang.Object
android.view.View
???????? android.view.ViewGroup
?????????????????? android.widget.AdapterView<T extends android.widget.Adapter>
?
子類及間接子類
直接子類
???????? ?????????????????? AbsListView, AbsSpinner
?
間接子類
ExpandableListView, Gallery, GridView, ListView, Spinner
?
類概述
AdapterView 是內(nèi)容由 Adapter
來決定的視圖類。
參見 ListView
、GridView
、Spinner
和 Gallery
等常見子類。
?
常量
public static final int INVALID_POSITION
代表無效的位置。有效值的范圍是 0 到當(dāng)前適配器項目數(shù)減 1 。
常量值: -1 (0xffffffff)
?
public static final long INVALID_ROW_ID
代表空或者無效的行ID。
常量值: -9223372036854775808 (0x8000000000000000)
?
public static final int ITEM_VIEW_TYPE_HEADER_OR_FOOTER
當(dāng)條項是列表頭或列表尾時,調(diào)用 getItemViewType(int)
函數(shù)的返回值。
常量值: -2 (0xfffffffe)
?
public static final int ITEM_VIEW_TYPE_IGNORE
當(dāng)適配器禁止條項的視圖再利用時,調(diào)用 getItemViewType(int)
函數(shù)的返回值。
常量值: -1 (0xffffffff)
?
公有構(gòu)造函數(shù)
public AdapterView (Context context)
構(gòu)造函數(shù)
?
public AdapterView (Context context, AttributeSet attrs)
構(gòu)造函數(shù)
?
public AdapterView (Context context, AttributeSet attrs, int defStyle)
構(gòu)造函數(shù)
?
公有方法
public void addView (View child)
該類不支持該方法,如果調(diào)用將拋出 UnsupportedOperationException 異常。
參數(shù)
???????? child忽略
拋出
UnsupportedOperationException 調(diào)用該方法時
?
public void addView (View child, int index)
該類不支持該方法,如果調(diào)用將拋出 UnsupportedOperationException 異常。
參數(shù)
???????? child ??????? 忽略。
index ????? 忽略。
拋出
???????? UnsupportedOperationException 調(diào)用該方法時
?
public void addView (View child, int index, ViewGroup.LayoutParams params)
該類不支持該方法,如果調(diào)用將拋出 UnsupportedOperationException 異常。
參數(shù)
???????? child ??????? 忽略。
index ????? 忽略。
params ? 忽略。
拋出
???????? UnsupportedOperationException 調(diào)用該方法時
?
public void addView (View child, ViewGroup.LayoutParams params)
該類不支持該方法,如果調(diào)用將拋出 UnsupportedOperationException 異常。
參數(shù)
???????? child ??????? 忽略。
params ? 忽略。
拋出
???????? UnsupportedOperationException 調(diào)用該方法時
?
public boolean dispatchPopulateAccessibilityEvent (AccessibilityEvent event)
分發(fā) AccessibilityEvent
事件到 該視圖
的子視圖中。
參數(shù)
???????? event ????? 事件。
返回值
如果事件分發(fā)完成,返回真。
?
public abstract T getAdapter ()
返回當(dāng)前與該小部件關(guān)聯(lián)的適配器。
返回值
用于提供視圖內(nèi)容的適配器。
?
public int getCount ()
返回值
與 AdapterView 相關(guān)聯(lián)的適配器的條目數(shù)量。(該值是數(shù)據(jù)條目的數(shù)量, 可能大于可見的視圖的數(shù)量。)
?
public View getEmptyView ()
當(dāng)前適配器無內(nèi)容時,AdapterView 會顯示特殊的空視圖。 空視圖用于告訴用戶,該 AdapterView 沒有數(shù)據(jù)。
返回值
適配器為空時顯示的視圖。
?
public int getFirstVisiblePosition ()
返回顯示在屏幕上的第一個元素在適配器中所處的位置。
返回值
在適配器數(shù)據(jù)集中的位置。
?
public Object getItemAtPosition (int position)
取得列表中指定位置的數(shù)據(jù)。
參數(shù)
???????? position 要取得數(shù)據(jù)的位置。
返回值
列表中指定位置的數(shù)據(jù)。
?
public long getItemIdAtPosition (int position)
(譯者注:關(guān)于此方法的分析,參見這里。)
?
public int getLastVisiblePosition ()
返回顯示在屏幕上的最后一個元素在適配器中所處的位置。
返回值
在適配器數(shù)據(jù)集中的位置。
?
public final AdapterView.OnItemClickListener getOnItemClickListener ()
返回值
點擊 AdapterView 中的條目時執(zhí)行的回調(diào)函數(shù);沒有設(shè)置時返回空。
?
public final AdapterView.OnItemLongClickListener getOnItemLongClickListener ()
返回值
取得長按 AdapterView 中的條目時執(zhí)行的回調(diào)函數(shù)的監(jiān)聽器;未設(shè)置則返回空。
?
public final AdapterView.OnItemSelectedListener getOnItemSelectedListener ()
?
public int getPositionForView (View view)
取得適配器項目對應(yīng)的視圖或其子視圖在適配器的數(shù)據(jù)中所處的位置。
參數(shù)
???????? view ??????? 適配器條目或其后代的視圖。調(diào)用時該項目在 AdapterView 中必須可見。
返回值
視圖在適配器數(shù)據(jù)集中的位置;如果視圖不在數(shù)據(jù)列表中或當(dāng)前不可見,則返回 INVALID_POSITION
。
?
public Object getSelectedItem ()
返回值
當(dāng)前選中條目對應(yīng)的數(shù)據(jù);無選中條目時返回空。
?
public long getSelectedItemId ()
返回值
當(dāng)前選中條目相應(yīng)的 ID;無選中條目則返回 INVALID_ROW_ID。
?
public int getSelectedItemPosition ()
返回當(dāng)前選中項目在適配器數(shù)據(jù)中的位置。
返回值
返回從零開始的位置(索引)信息,沒有選擇條目時返回 INVALID_POSITION。
?
public abstract View getSelectedView ()
返回值
當(dāng)前選中條目對應(yīng)的視圖;無選中條目時返回空。
?
public boolean performItemClick (View view, int position, long id)
如果定義了 OnItemClickListener 則調(diào)用它。
參數(shù)
view ??????? AdapterView 中被點擊的視圖。
position 視圖在適配器中的索引。
id ??? 點擊的條目的行 ID。
返回值
如果成功調(diào)用了定義的 OnItemClickListener 則返回真;否則返回假。
?
public void removeAllViews ()
該類不支持該方法,如果調(diào)用將拋出 UnsupportedOperationException 異常。
拋出
UnsupportedOperationException調(diào)用該方法時
?
public void removeView (View child)
該類不支持該方法,如果調(diào)用將拋出 UnsupportedOperationException 異常。
參數(shù)
child ??????? 忽略。
拋出
???????? UnsupportedOperationException調(diào)用該方法時
?
public void removeViewAt (int index)
該類不支持該方法,如果調(diào)用將拋出 UnsupportedOperationException 異常。
參數(shù)
???????? index ????? 忽略。
拋出
???????? UnsupportedOperationException調(diào)用該方法時
?
public abstract void setAdapter (T adapter)
設(shè)置用于為該小部件的視圖提供用于顯示的數(shù)據(jù)的適配器。
參數(shù)
???????? adapter 用于創(chuàng)建視圖內(nèi)容的適配器。
?
public void setEmptyView (View emptyView)
設(shè)置適配器內(nèi)容為空時顯示的視圖。
?
public void setFocusable (boolean focusable)
設(shè)置該視圖是否可以獲取焦點。 設(shè)為假時,可以確保在觸控模式中該視圖不能得到焦點。
參數(shù)
???????? focusable ??????? 設(shè)為真時,該視圖可以得到焦點。
?
public void setFocusableInTouchMode (boolean focusable)
設(shè)置在觸控模式下該視圖是否可以獲取焦點。 設(shè)為真時,可以保證視圖可以得到焦點。
參數(shù)
???????????????????????????? focusable ?????? 設(shè)為真時,該視圖在觸控模式下可以得到焦點。
?
public void setOnClickListener (View.OnClickListener l)
注冊點擊該視圖時執(zhí)行的回調(diào)函數(shù)。如果該視圖不可點擊,會將其改為可以點擊的狀態(tài)。
參數(shù)
???????? l ????? 事件發(fā)生時運行的回調(diào)函數(shù)。
?
public void setOnItemClickListener (AdapterView.OnItemClickListener listener)
注冊單擊 AdapterView 中的條目時執(zhí)行的回調(diào)函數(shù)。
參數(shù)
???????? listener ? 將要調(diào)用的回調(diào)。
?
public void setOnItemLongClickListener (AdapterView.OnItemLongClickListener listener)
注冊長按 AdapterView 中的條目時執(zhí)行的回調(diào)函數(shù)。
參數(shù)
???????? listener ? 事件發(fā)生時運行的回調(diào)函數(shù)。
?
public void setOnItemSelectedListener (AdapterView.OnItemSelectedListener listener)
注冊選中 AdapterView 中的條目時執(zhí)行的回調(diào)函數(shù)。
參數(shù)
???????? listener ? 事件發(fā)生時運行的回調(diào)函數(shù)。
?
public abstract void setSelection (int position)
設(shè)置當(dāng)前選擇條目。為了支持無障礙功能,重寫該方法的子類必須首先調(diào)用父類的該方法。
參數(shù)
???????? position 選擇的數(shù)據(jù)條目的索引(從零開始)。
?
保護(hù)方法
protected boolean canAnimate ()
指示視圖組是否能夠在首次布局后為其子視圖提供動畫效果的顯示。
返回值
如果子視圖可以使用動畫效果則返回真,否則返回假。
?
protected void dispatchRestoreInstanceState (SparseArray<Parcelable> container)
為了防止適配器生成的視圖被解凍而重寫。
參數(shù)
??? ??? container??? 保存有之前存儲的狀態(tài)信息的 SparseArray。
?
protected void dispatchSaveInstanceState (SparseArray<Parcelable> container)
為了防止適配器生成的視圖被凍結(jié)而重寫。
參數(shù)
??? ??? container ?? 保存視圖狀態(tài)的 SparseArray。
?
protected void onLayout (boolean changed, int left, int top, int right, int bottom)
該視圖設(shè)置其子視圖的大小及位置時調(diào)用。派生類可以重寫此方法,并為其子類布局。
參數(shù)
changed ??? 是否為視圖設(shè)置了新的大小和位置。
left 相對于父視圖的左側(cè)的位置。
top 相對于父視圖的頂部的位置。
right ?? 相對于父視圖的右側(cè)的位置。
bottom 相對于父視圖的底部的位置。
補(bǔ)充
??? 補(bǔ)充說明
本文由Android中文在線文檔 轉(zhuǎn)換而成。
文章精選
小胖's blog
Android SDK 中文文檔計劃 (14) 使用AdapterView來綁定數(shù)據(jù)
?