本節書摘來自異步社群《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。
2.1.2 搜尋框控件使用案例
通過前面的介紹,讀者對搜尋框控件searchview已經有了一個基本的了解,下面将通過一個簡單的案例sample2_1使讀者進一步掌握搜尋框控件searchview的使用。在正式介紹此案例的開發步驟之前,請讀者了解一下此案例的運作效果,如圖2-2、圖2-3和圖2-4所示。
圖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方法來監聽輸入事件,當内容有變化時此方法被調用。