1. 程式人生 > >Android AdapterView及子類的介紹(一)

Android AdapterView及子類的介紹(一)

AdapterView是一組重要的元件,AdapterView本身是一個抽象基類,它派生的子類在用法上十分相似,只是顯示介面有一定的區別,因此把它們歸為一類,針對它們的共性集中講解,並突出介紹它們的區別。

AdapterView具有如下特徵:

(一)AdapterView繼承了ViewGroup,它的本質是容器。

(二)AdapterView可以包括多個“列表項”,並將多個“列表項”以合適的形式顯示出來。

(三)AdapterView顯示的多個“列表項”由Adapter提供。呼叫AdapterView的setAdapter(Adapter)方法設定Adapter即可。

AdapterView派生了三個子類:AbsListView、AbsSpinner和AdapterViewAnimator,這三個子類依然是抽象的,實際使用時往往採用它們的子類。


(一)ListView和ListActivity

ListView是手機系統中使用非常廣泛的一種元件,他以垂直的形式顯示所有列表項。

生成列表檢視(ListView)有如下兩種方式。

(1)直接使用ListView進行建立。

(2)讓Activity繼承ListActivity(相當於該Activity顯示的元件為ListView)。

一旦在程式中獲得了ListView之後,接下來就需要為ListView設定它要顯示的列表項了。在這一點上,ListView顯示出AdapterView的特徵:通過setAdapter(Adapter)方法為之提供Adapter,並由Adapter提供列表項即可。

(二)Adapter的介面及實現類

Adapter本身只是一個介面,他派生了ListAdapter和SpinnerAdapter兩個子介面,其中ListAdapter為AbsListView提供列表項,而SpinnerAdapter為AbsSpinner提供列表項。

幾乎所有的Adapter都繼承了BaseAdapter,而BaseAdapter同時實現了ListAdapter、SpinnerAdapter兩個介面,因此BaseAdapter及其子類可以同時為AbsListView、AbsSpinner提供列表項

Adapter常用的實現類如下:

(1)ArrayAdapter:簡單、易用的Adapter,通常用於將陣列或List集合的多個值包裝成多個列表項。

(2)SimpleAdapter:並不簡單、功能強大的Adapter,可用於將List集合的多個物件包裝成多個列表項。

(3)SimpleCursorAdapter:與SimpleAdapter基本相似,只是用於包裝Cursor提供的資料。

(4)BaseAdapter:通常用於被擴充套件。擴充套件BaseAdapter可以對各列表項進行最大限度的定製。

下一篇會程式碼的形式來解釋它們的用法。

相關推薦

Android AdapterView介紹

AdapterView是一組重要的元件,AdapterView本身是一個抽象基類,它派生的子類在用法上十分相似,只是顯示介面有一定的區別,因此把它們歸為一類,針對它們的共性集中講解,並突出介紹它們的區別。 AdapterView具有如下特徵: (一)AdapterView繼

android application簡單介紹

cati theme text color raw sdn water bsp public 每次應用程序執行時。應用程序的application類保持實例化的狀態。通過擴展applicaiton類,能夠完畢下面3項工作: 1.對android執行時廣播的應用程序

Android開發教程 - 使用Data Binding 介紹

定義 rar 關註 klist amp 團隊 清晰 library 減少 引言 Data Binding(數據綁定)發布於2015年的Google I/O大會,旨在減少Android開發中的大量模板代碼(比如findViewById()),增加代碼及邏輯清晰度,提高開發效

MongoDB復制集成員架構介紹

bit not -o 服務 復制 誤操作 存儲 帶來 影響 MongoDB復制集介紹 MongoDB支持在多個機器中通過異步復制達到提供了冗余,增加了數據的可用性。MongoDB有兩種類型的復制,第一種是同於MySQL的主從復制模式(MongoDB已不再推薦此方案);第二

Python3常用語句用法介紹——print/import/賦值語句

1.print語句 ①括號括起來(自python3),逗號隔開 ②輸出時,隔開的各個字串前會自動加空格 ③需要輸出的符號可包含在字串中,也可單獨輸出,使用+號則不增加空格 ④同行列印的幾種方法 2.import語句 ①輕量化:匯入某模組的某函式 ②大塊匯入:匯入某

Python3常用資料結構方法介紹——列表

一.列表 list 1特點: ①列表可更改 ②方括號 [1, 2, 3] 2常用列表操作: ①索引: >>> list1 = [1,2,3,4,5,6,7,8,9,10] >>> list1[4] 5 ②分片: >>>

分析 介紹

一、 聚類演算法 1.1引言 聚類分析,在英文中是Cluster analysis,是機器學習中無監督學習的典型代表。無監督學習沒有訓練過程,給定一些樣本資料,讓機器學習演算法直接對這些資料進行分析,得到資料的某些知識。而無監督學習的另外一類典型演算法是資料降維,它將一個高維向量變換到低維空

Git介紹常用操作演示--技術流ken

Git介紹及常用操作演示(一)--技術流ken   Git介紹    Git(讀音為/gɪt/。)是一個開源的分散式版本控制系統,可以有效、高速的處理從很小到非常大的專案版本管理。 Git 是 Linus Torvalds 為了幫助管理 Linux 核心

應用程式框架實戰三十:表現層ASP.NET MVC介紹

  本文將介紹表現層及ASP.NET MVC的一些要點,特別是ASP.NET MVC的一些抽象和封裝技巧,如果你對MVC還不瞭解,可以參考《ASP.NET MVC4 高階程式設計》,作者Jon Galloway等,這本書由ASP.NET MVC團隊成員編寫,相當不錯。 表現層的職責   表現層的職責是展示

AndroidStudio工具使用、基本設定介紹

1:AS下載地址 下載時注意自己的作業系統版本Windwos、Linux、Max,AS不區分32/64系統,另外AS下載時有帶SDK的AS和無SDK的 2:AS的安裝具體步驟

Android Studio中配置使用OpenCV示例

Android Studio配置及使用OpenCV前言:最近在做專案移植,專案較大,在Eclipse中配置的Jni及OpenCV環境沒任何問題,但是遷移到Studio中就問題一大堆,網上也找了一些資料參考及學習,很感謝前人留下的總結及經驗。關於在AS中使用jni及配置Open

淺談Android之Activity 視窗顯示流程介紹

7 Activity 視窗顯示流程介紹 Activity 視窗顯示,其實就是Décor View繪製並顯示的過程,但是在繪製之前,Décor View需要先做下面兩件事情: 1)  確定Décor View的大小 2)  對Décor View進行佈局操作,也就是確定Déc

c++進階---IO的詳細介紹

IO類 c++為了更好的處理不同的種類的IO的操作,IO庫中定義了龐大的類庫來處理不同種類的IO操作,該類庫組成如下圖所示: 首先,我們先了解一下這個龐大的IO庫各個類之間的關係。 ios是最基本的父類,其中istream類和ostream類都繼承了

android5.1 藍芽子系統介紹Android下bluedroid、bluetooth apk介紹

前言本文件主要介紹android平臺下bluetooth的應用層軟體,先介紹bluetooth應用層的框架,接著分別介紹Bluedroid層軟體、Bluetooth應用程式(Bluetooth.apk),Bluetooth framework層,最後完整分析一些藍芽的操作流程。基於android 5.1的平臺

Android intent.Action 引數值對應功能介紹

4 Intent.Action.ALL_APPS String: andriod.intent.action.ALL_APPS 列出所有的應用。 Input:Nothing. Output:Nothing. 5 Intent.ACTION_ANSWER Stirng:android.intent.action

Android Bitmap深入介紹---基礎

在Android應用開發中,我們經常需要跟圖片打交道,而圖片一個很麻煩的問題是佔用記憶體非常大,經常導致OOM,瞭解Bitmap相關資訊,不同sdk版本中Android圖片處理的變化,以及一些優化處理的方式對我們平時開發中對圖片的會非常有幫助。 這篇先介紹Bi

AdapterView的相關學習整理

一、瞭解 AdapterView 及其子類      (這個圖片是網上找的)主要是瞭解一下結構,其中AbsListView、AbsSpinner、AdapterViewAnimation依然是抽象類,實際使用時需要使用它們的子類。後面我會逐個練習這些子類,比較這些子類實現效

Android開發,MapBox的使用部分功能實現----- 初始化、標記、定位、styleurl

近期,應公司要求,開始接觸MapBox For Android的開發。 經過初步的接觸,發現MapBox與我之前使用的Arcgis有很多不同,相比起來,MapBox更清潔,更輕便,也更容易使用,但是相對的,MapBox相對於Arcgis缺少了很多的功能實現,許多的東西都需要

Android Studio NDKso檔案開發

部落格借鑑: 前言: 1、什麼是NDK? NDK全稱是Native Development Kit,NDK提供了一系列的工具,幫助開發者快速開發C(或C++)的動態庫,並能自動將so和java應用一起打包成apk。NDK集成了交叉編譯器(交叉編譯器

UI元件:AdapterView(二)

自動完成文字框(AutoCompleteTextView) AutoCompleteTextView是從EditView派生出來的。它實際上也是一個文字編輯框,當用戶輸入一定字元之後,自動完成會顯示一個下拉選單,供使用者選擇,當用戶選擇了某個選單項之後,Aut