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