天天看點

《Android 平闆電腦開發實戰詳解和典型案例》——2.1節搜尋框控件—— SearchView

本節書摘來自異步社群《android 平闆電腦開發實戰詳解和典型案例》一書中的第2章,第2.1節搜尋框控件—— searchview,作者 吳亞峰 , 杜化美 , 索依娜,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視

2.1 搜尋框控件—— searchview

android 平闆電腦開發實戰詳解和典型案例

本節将介紹android 3.0新增控件——搜尋框控件searchview,主要内容包括搜尋框控件searchview的基本知識以及一個簡單的案例。

提示

本書中的案例都是在540×960分辨率的真機上調試通過的,若執行本書中案例的裝置分辨率不是540×960,可能會有顯示不正常的情況。但大部分案例都是沒有問題的,尤其是最後第14、第15、第16章的大案例都是自适應于各種螢幕分辨率的。

2.1.1 搜尋框控件基本知識

搜尋框控件searchview可增加一個listview實作自動補全功能,通過adapter給此控件加入自動補全清單,可根據輸入的字段進行搜尋。搜尋框控件searchview繼承自linearlayout,其繼承樹如圖2-1所示。

說明

對于搜尋框控件searchview中的一些方法,由于篇幅所限,這裡将不再一一贅述,請讀者自行查閱相關的api。

《Android 平闆電腦開發實戰詳解和典型案例》——2.1節搜尋框控件—— SearchView

2.1.2 搜尋框控件使用案例

通過前面的介紹,讀者對搜尋框控件searchview已經有了一個基本的了解,下面将通過一個簡單的案例sample2_1使讀者進一步掌握搜尋框控件searchview的使用。在正式介紹此案例的開發步驟之前,請讀者了解一下此案例的運作效果,如圖2-2、圖2-3和圖2-4所示。

《Android 平闆電腦開發實戰詳解和典型案例》——2.1節搜尋框控件—— SearchView

圖2-2為運作效果圖,圖2-3和圖2-4分别為程式運作的初始界面輸入“j”和“a”字母後的運作效果圖。

了解了案例的運作效果之後,下面開始介紹案例的開發,具體步驟如下。

(1)首先需要編寫的是界面布局檔案searchview_layout.xml,其代碼如下。

界面的布局比較簡單,在主的linearlayout中加入一個searchview和一個listview,并設定好相關的屬性。

(2)完成了布局檔案searchview_layout.xml檔案的開發後,下面将要開發的是本案例中主activity對應的類searchviewactivity,其代碼如下。

第6~8行建立了要搜尋的所有資料。第13~15行設定了主題和界面布局并拿到了listview對象。

第16~18行為給listview添加擴充卡并設定相關屬性,第19~23行表示拿到searchview對象,給其添加擴充卡并設定相關屬性。

第24~28行重寫了searchview的監聽器的onquerytextchange方法,每當内容有變化時此方法被調用。

第29~31行重寫了searchview的監聽器的onquerytextsubmit方法來監聽輸入事件,當内容有變化時此方法被調用。

繼續閱讀