我想設置一個圖像GridView佈局,這涉及到從BaseAdapter類派生一個新類。我一直在使用網站developer.android.com上的教程,但我仍然不完全明白它的含義。有人可以向我解釋一下BaseAdapter究竟是什麼?我不明白Android開發者網站提供的定義。瞭解BaseAdapters以及如何使用它們
由於
我想設置一個圖像GridView佈局,這涉及到從BaseAdapter類派生一個新類。我一直在使用網站developer.android.com上的教程,但我仍然不完全明白它的含義。有人可以向我解釋一下BaseAdapter究竟是什麼?我不明白Android開發者網站提供的定義。瞭解BaseAdapters以及如何使用它們
由於
http://developer.android.com/resources/tutorials/views/hello-gridview.html
GridView控件是一種類型的視圖被稱爲一個AdapterView的子類。這些通常包含許多較小的視圖,但依賴於適配器爲它們提供這些視圖。 BaseAdapter類是爲了覆蓋告訴AdapterView(您的GridView)顯示內容的方法而擴展的類。最重要的方法是getView()方法,在該方法中,您返回視圖以顯示在網格上的特定位置。
雖然這個設置有點令人困惑和複雜,但Android的開發者選擇了它,因爲它允許所有的優化。 AdapterViews的很多優化都是通過重複使用Views而不是在getView方法中創建新的獲得的。這是您可以在getView方法中看到的convertView參數。如果convertView == null,那麼該方法需要創建一個新的View對象並返回一個昂貴的操作。如果它不爲空,那麼適配器可以重用該視圖,只需更改該教程示例中的圖像即可。
適配器用於將數據綁定到視圖。見AdapterView:
一個AdapterView是視圖,其孩子由一個適配器確定。
幾個佈局圖從適配器視圖中獲得類似的GridView,ListView控件和畫廊。
當然,您一般不直接使用AdapterView
和Adapter
,而是使用或派生自其某個子類。 Adapter的子類可能會添加更多功能,這些功能會更改如何將數據綁定到視圖。
BaseAdapter
是適配器接口的抽象基類,用於簡化實現適配器。你可以實現你自己的,但是框架已經提供了一些非常靈活的適配器。一些流行的適配器是:
getView()
膨脹,填充,並返回一個自定義視圖在給定索引陣列。 getView()
方法通過參數convertView
包含機會重用視圖。newView()
來擴充,填充並返回當前光標位置所需的視圖並實現抽象方法bindView
填充正被再利用現有的視圖..CursorAdapter
setViewText
和自定義SimpleCursorAdapter.ViewBinder
接口和setViewValue()
方法來爲給定行(當前遊標狀態)和數據「列」膨脹,填充和返回所需視圖。此方法只能定義「特殊」視圖和綁定,但仍然遵循SimpleCursorAdapter對「常規」綁定的標準行爲。