?
This document uses PHP Chinese website manual Release
SearchView
版本:Android 3.1 r1
?
結(jié)構(gòu)
繼承關(guān)系
public class SearchView extends LinearLayout
????????
java.lang.Object
android.view.View
???????? android.view.ViewGroup
?????????????????? android.widget.LinearLayout
??????????????????????????? android.widget.SearchView
?
類概述
????????
???????? 一個為用戶提供輸入搜索查詢和提交請求給搜索提供者的用戶界面部件。顯示查詢建議或結(jié)果列表,如果有的話,運行用戶選擇一條查詢建議或結(jié)果并啟動與其相關(guān)的操作。
???????? 更多信息,參見Search文檔。
?
內(nèi)部類
interface ???????? SearchView.OnCloseListener ??????
(譯者注:當(dāng)用戶關(guān)閉SearchView時觸發(fā)的回調(diào)函數(shù))
?
interface ????SearchView.OnQueryTextListener??????? ????????
當(dāng)查詢文本改變時的回調(diào)函數(shù)。
?
interface?????????? SearchView.OnSuggestionListener
在建議上選擇事件時的回調(diào)接口。
?
XML屬性
屬性名稱 |
描述 |
android:iconifiedByDefault |
設(shè)置SearchView的默認(rèn)狀態(tài)。 如果為true,在沒有被使用和點擊展開時它將被圖形化。 |
android:maxWidth |
SearchView的可選擇的最大寬度 |
android:queryHint |
當(dāng)查詢條件為空時顯示的一個提示字符串。 |
?
公共方法
public CharSequence getQuery ()
???????? 返回當(dāng)前文本域中的查詢字符串
?????????????????? 返回值
??????????????????????????? 查詢字符串
?
public CursorAdapter getSuggestionsAdapter ()
如果有的話,返回用于搜索建議的適配器。
?????????????????? 返回值
??????????????????????????? 查詢適配器
?
?????? public boolean isIconfiedByDefault ()
返回查詢區(qū)域默認(rèn)的圖標(biāo)狀態(tài)。
?
public boolean isIconified ()
返回SearchView當(dāng)前的圖標(biāo)狀態(tài)
?????????????????? 返回值
如果SearchView目前是圖標(biāo)狀態(tài),返回true,如果查詢區(qū)域是完全可見的返回false
?
public boolean isQueryRefinementEnabled ()
返回查詢優(yōu)化是否是對所有的條目都起作用或者只是對特別的幾個起作用
?????????????????? 返回值
??????????????????????????? 如果是對所有的條目起作用,剛返回true,否則返回false。
?
???????? public boolean isSubmitButtonEnabled ()
返回當(dāng)提交按鈕在必須的時候是否可用或者從不顯示
?????????????????? 返回值
??????????????????????????? 提交按鈕在必須的時候是否自動啟用
?
public boolean onKeyDown (int keyCode, KeyEvent event)
是否處理操作鍵按下事件
參數(shù)
keyCode?? 鍵入的鍵盤值,同時和鍵盤事件中的參數(shù)相同
event??????? 輸入鍵的完整事件記錄
?????????????????? 返回值
??????????????????????????? 如果事件在這里被處理,返回true,不處理返回false
?
public void setIconified (boolean iconify)
???????? 圖標(biāo)化或者展開SearchView。當(dāng)圖標(biāo)化時任何查詢條件都被清除。這是一個臨時的狀態(tài),不會重寫被setIconifiedByDefault(boolean)設(shè)置的默認(rèn)圖標(biāo)狀態(tài)。如果默認(rèn)的是圖標(biāo)化狀態(tài),則在用戶關(guān)閉這個區(qū)域前都是false。如果默認(rèn)的是展開狀態(tài),這里就是true,同時清除文本區(qū)域,但不關(guān)閉它。
參數(shù)
iconify?????? true值會把SearchView收縮成一個圖標(biāo),false值會展開它
?????????????????? 返回值
??????????????????????????? 查詢字符串
?
public void setIconifiedByDefault (boolean iconified)
???????? 設(shè)置搜索欄的默認(rèn)狀態(tài)或者靜止?fàn)顟B(tài)。如果是true,當(dāng)被按下時,一個單一的搜索圖標(biāo)就會被默認(rèn)顯示,同時顯示文本字段和其他按鈕。如果默認(rèn)的狀態(tài)是圖標(biāo),在按下關(guān)閉按鈕時它就會收縮成那個狀態(tài)。這個屬性的改變會立即生效。
?????????????????? 參數(shù)
??????????????????????????? iconified?? 搜索欄是否默認(rèn)被圖標(biāo)化
?
public void setMaxWidth (int maxpixels)
以最寬的像素相看
?????????????????? 相關(guān)的XML屬性
??????????????????????????? android:maxWidth
?
public void setOnCloseListener (SearchView.OnCloseListener listener)
當(dāng)用戶關(guān)閉SearchView時設(shè)置一個監(jiān)聽器通知用戶
參數(shù)
???????? listener??? 設(shè)置用戶關(guān)閉SearchView時的監(jiān)聽器
?
public void setOnQueryTextFocusChangeListener (View.OnFocusChangeListener listener)
???????? 設(shè)置當(dāng)查詢區(qū)域字段改變時通知用戶的監(jiān)聽器
參數(shù)
???????? listener??? 設(shè)置焦點更改時的監(jiān)聽器
?
???????? public void setOnQueryTextListener (SearchView.OnQueryTextListener listener)
???????? 為用戶在SearchView內(nèi)的操作設(shè)置監(jiān)聽器
參數(shù)
???????? listener??? 當(dāng)用戶在SearchView操作時比如說點擊按鈕或者輸入查詢內(nèi)容時,設(shè)置接收回調(diào)的監(jiān)聽器對象
?
???????? public void setOnSearchClickListener (View.OnClickListener listener)
???????? 設(shè)置按鈕被按下時的監(jiān)聽器。在默認(rèn)情況下當(dāng)文本字段不可見時才起作用,調(diào)用setIconified(false)也可以通知這個監(jiān)聽器。
參數(shù)
listener??? 當(dāng)搜索按鈕被點擊或者文本字段編輯取消圖形化時通知監(jiān)聽器
?
???????? public void setOnSuggestionListener (SearchView.OnSuggestionListener listener)
???????? 設(shè)置當(dāng)一條搜索建議被選中或者點擊的時候的監(jiān)聽器
參數(shù)
listener??? 選擇搜索建議事件的監(jiān)聽器
?
???????? public void setQuery (CharSequence query, boolean submit)
???????? 設(shè)置文本區(qū)域的一個查詢字符串并選擇提交和查詢。
參數(shù)
???????? query??????? 查詢字符串。代替在文本區(qū)域已經(jīng)存在的查詢文本
???????? submit????? 是否立即提交查詢或者只更新文本區(qū)域的內(nèi)容
?
???????? public void setQueryHint (CharSequence hint)
???????? 設(shè)置在查詢文本區(qū)域的提示文本。將覆蓋SearchableInfo中的任何提示。
?????????????????? 相關(guān)XML屬性
??????????????????????????? android:queryHint
參數(shù)
???????? hint??? 要顯示的提示文本
??????????????????
???????? public void setQueryRefinementEnabled (boolean enable)
???????? 指定如果精確查詢按鈕是否在每條建議的旁邊顯示或者是否根據(jù)運營商建議中的設(shè)置在個別項目的標(biāo)志決定。點擊精確查詢的按鈕會用建議中的文本替換查詢文本區(qū)域中的字段。這個標(biāo)志只是在一個SearchableInfo中指定setSearchableInfo(SearchableInfo)且不使用定制的適配器時起作用。
參數(shù)
??????????????????????????? enable????? 如果所有的條目都有一個精確查詢按鈕剛為true,如果只有帶精確查詢標(biāo)志的條目需要按鈕,則為false。
?????????????????? 參見
??????????????????????????? SUGGEST_COLUMN_FLAGS
FLAG_QUERY_REFINEMENT
?
???????? public void setSearchableInfo (SearchableInfo searchable)
???????? 給SearchView設(shè)置SearchableInfo。SearchableInfo中的屬性用來顯示標(biāo)簽,提示(hints),搜索建議,創(chuàng)建打開查詢結(jié)果和控制其他功能比如一個聲音按鈕的intents。
參數(shù)
????????????????? searchable??????? 對于一個特殊的activiey或者,能從SearchManager中檢索的SearchableInfo,全局的搜索提供者。
?
???????? public void setSubmitButtonEnabled (boolean enabled)
???????? 當(dāng)查詢不為空時,顯示一個提交按鈕。如果SearchView被用來填充當(dāng)前activity的內(nèi)容,并且不會啟動一個單獨的activity,這里提交按鈕會消失。
參數(shù)
????????????????? enabled??? 設(shè)置為True時顯示一個提交請求的按鈕,當(dāng)不需要請求按鈕時設(shè)置為false。
?
???????? public void setSuggestionsAdapter (CursorAdapter adapter)
???????? 如果你愿意,你可以設(shè)置一個定制的適配器。否則使用默認(rèn)的適配器來顯示和SearchableInfo相關(guān)的建議提供者的建議。
?????????????????? 參見
??????????????????????????? setSearchableInfo(SearchableInfo)
?
補充
文章精選
Android ApiDemo示例解析(36):App->Search->Invoke Search
SearchView默認(rèn)擴展
?????????????????? SearchViewを使用してListViewのアイテムにフィルターをかける
?
?