天天看點

《Android應用開發入門經典(第3版)》——第6.3節組合使用控件和擴充卡

本節書摘來自異步社群《android應用開發入門經典(第3版)》一書中的第6章,第6.3節組合使用控件和擴充卡,作者 【美】carmen delessio , lauren darcey , shane conder,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視

6.3 組合使用控件和擴充卡

android應用開發入門經典(第3版)

很多空間隻有一個text屬性。例如一個按鈕可能會顯示一個“ok”或者可能會将一行文本作為一個文本視圖的标簽。其他控件中必須要顯示的資料可能會有很多,對于這些控件就可以使用擴充卡來将複雜的資料與控件聯系起來。

6.3.1 擴充卡

一個 adapter(android.widget.adapter)将資料綁定到視圖。例如,spinner 是一個向使用者提供一系列選項清單供選擇的控件。這一個選項清單是這個視圖運作時所需的資料。為了使得視圖和資料之間能夠關聯起來,就需要使用一個擴充卡。在本節中将會使用預定義的擴充卡,如arrayadapter(android.widget.arrayadapter)。對于更加複雜的應用來講,建立自定義的擴充卡是很常見的。在後續介紹遊标和遊标擴充卡的章節中将會建立自定義的擴充卡。

下面将使用一個 arrayadapter 來在一個spinner控件和一個autocompletetextview中顯示同樣的資料。

在本例中将會使用一個string數組,這個數組是在程式中定義的。當然,也可以将一個string數組定義成一種資源,但那種方法對于一個不會發生變化的清單來講是合适的。

讀者可以閱讀第15章,擷取更多有關建立自定義的擴充卡方面的資訊。

6.3.2 使用spinner控件

一個下拉框實際上是android平台上的一個下拉清單。如圖6.8所示,左圖給出了一個未選中的下拉框,右圖給出了同樣的一個下拉框中下拉清單中“three”這個選項被選中的情形。

《Android應用開發入門經典(第3版)》——第6.3節組合使用控件和擴充卡

1.建立spinner

為顯示下拉框,需要對其進行定義并将其綁定到一個擴充卡。當下拉框完成設定之後,擴充卡中的資料應該是可用的。在本例中的資料是一個名為values的字元串數組常量:

《Android應用開發入門經典(第3版)》——第6.3節組合使用控件和擴充卡

通過将 values 數組關聯到一個名為 android.r.layout.simple_spinner_item 的預定義系統資源,來建立一個名為 spinneradapter的 arrayadapter。将spinneradapter設定為下拉框的擴充卡。這個擴充卡将資料綁定到下拉框并指定了每一項如何顯示。

2.從spinner讀取資料

對下拉框可以做很多處理。通過實作 onitemselectedlistener()方法可以檢測出下拉框中的一個條目何時被選中。使用 getselecteditem()或 getselecteditemposition()方法可以讀取下拉框中被選中的資料。

在本例中清單中存放的字元串,是以可以使用下面的方式來讀取字元串的值:

《Android應用開發入門經典(第3版)》——第6.3節組合使用控件和擴充卡

繼續閱讀