天天看點

Android 3.1 r1 中文API文檔 (120) —— SearchView

結構

繼承關系

public class SearchView extends LinearLayout       

java.lang.Object

android.view.View

         android.view.ViewGroup

                   android.widget.LinearLayout

                            android.widget.SearchView 

類概述

         一個為使用者提供輸入搜尋查詢和送出請求給搜尋提供者的使用者界面部件。顯示查詢建議或結果清單,如果有的話,運作使用者選擇一條查詢建議或結果并啟動與其相關的操作。

内部類

  interface          SearchView.OnCloseListener       

  (譯者注:當使用者關閉SearchView時觸發的回調函數)

interface     SearchView.OnQueryTextListener                

當查詢文本改變時的回調函數。 

  interface           SearchView.OnSuggestionListener

  在建議上選擇事件時的回調接口。

XML屬性

屬性名稱

描述

android:iconifiedByDefault

設定SearchView的預設狀态。

如果為true,在沒有被使用和點選展開時它将被圖形化。

android:maxWidth

SearchView的可選擇的最大寬度

android:queryHint

當查詢條件為空時顯示的一個提示字元串。

公共方法

public CharSequence getQuery ()

  傳回目前文本域中的查詢字元串

    傳回值

      查詢字元串

public CursorAdapter getSuggestionsAdapter ()

如果有的話,傳回用于搜尋建議的擴充卡。

      查詢擴充卡

  public boolean isIconfiedByDefault ()

傳回查詢區域預設的圖示狀态。

public boolean isIconified ()

傳回SearchView目前的圖示狀态

如果SearchView目前是圖示狀态,傳回true,如果查詢區域是完全可見的傳回false

public boolean isQueryRefinementEnabled ()

傳回查詢優化是否是對所有的條目都起作用或者隻是對特别的幾個起作用

      如果是對所有的條目起作用,剛傳回true,否則傳回false。

  public boolean isSubmitButtonEnabled ()

傳回當送出按鈕在必須的時候是否可用或者從不顯示

      送出按鈕在必須的時候是否自動啟用

public boolean onKeyDown (int keyCode, KeyEvent event)

是否處理操作鍵按下事件

參數

keyCode   鍵入的鍵盤值,同時和鍵盤事件中的參數相同

event        輸入鍵的完整事件記錄

      如果事件在這裡被處理,傳回true,不處理傳回false

public void setIconified (boolean iconify)

iconify       true值會把SearchView收縮成一個圖示,false值會展開它

public void setIconifiedByDefault (boolean iconified)

  設定搜尋欄的預設狀态或者靜止狀态。如果是true,當被按下時,一個單一的搜尋圖示就會被預設顯示,同時顯示文本字段和其他按鈕。如果預設的狀态是圖示,在按下關閉按鈕時它就會收縮成那個狀态。這個屬性的改變會立即生效。

    參數

      iconified   搜尋欄是否預設被圖示化

public void setMaxWidth (int maxpixels)

以最寬的像素相看

    相關的XML屬性

public void setOnCloseListener (SearchView.OnCloseListener listener)

當使用者關閉SearchView時設定一個監聽器通知使用者

         listener    設定使用者關閉SearchView時的監聽器

public void setOnQueryTextFocusChangeListener (View.OnFocusChangeListener listener)

  設定當查詢區域字段改變時通知使用者的監聽器

         listener    設定焦點更改時的監聽器

  public void setOnQueryTextListener (SearchView.OnQueryTextListener listener)

  為使用者在SearchView内的操作設定監聽器

         listener    當使用者在SearchView操作時比如說點選按鈕或者輸入查詢内容時,設定接收回調的監聽器對象

  public void setOnSearchClickListener (View.OnClickListener listener)

listener    當搜尋按鈕被點選或者文本字段編輯取消圖形化時通知監聽器

  public void setOnSuggestionListener (SearchView.OnSuggestionListener listener)

  設定當一條搜尋建議被選中或者點選的時候的監聽器

listener    選擇搜尋建議事件的監聽器

  public void setQuery (CharSequence query, boolean submit)

  設定文本區域的一個查詢字元串并選擇送出和查詢。

         query        查詢字元串。代替在文本區域已經存在的查詢文本

         submit      是否立即送出查詢或者隻更新文本區域的内容

  public void setQueryHint (CharSequence hint)

    相關XML屬性

  hint    要顯示的提示文本

  public void setQueryRefinementEnabled (boolean enable)

  指定如果精确查詢按鈕是否在每條建議的旁邊顯示或者是否根據營運商建議中的設定在個别項目的标志決定。點選精确查詢的按鈕會用建議中的文本替換查詢文本區域中的字段。這個标志隻是在一個SearchableInfo中指定setSearchableInfo(SearchableInfo)且不使用定制的擴充卡時起作用。

      enable      如果所有的條目都有一個精确查詢按鈕剛為true,如果隻有帶精确查詢标志的條目需要按鈕,則為false。

    參見

<a href="http://developer.android.com/reference/android/app/SearchManager.html#FLAG_QUERY_REFINEMENT">FLAG_QUERY_REFINEMENT</a>

  public void setSearchableInfo (SearchableInfo searchable)

  searchable        對于一個特殊的activiey或者,能從SearchManager中檢索的SearchableInfo,全局的搜尋提供者。

  public void setSubmitButtonEnabled (boolean enabled)

  當查詢不為空時,顯示一個送出按鈕。如果SearchView被用來填充目前activity的内容,并且不會啟動一個單獨的activity,這裡送出按鈕會消失。

  enabled    設定為True時顯示一個送出請求的按鈕,當不需要請求按鈕時設定為false。

  public void setSuggestionsAdapter (CursorAdapter adapter)

  如果你願意,你可以設定一個定制的擴充卡。否則使用預設的擴充卡來顯示和SearchableInfo相關的建議提供者的建議。

補充

文章精選

<a href="http://www.imobilebbs.com/wordpress/?p=1231">Android ApiDemo示例解析(36):App-&gt;Search-&gt;Invoke Search</a>

<a href="http://www.cnblogs.com/topcoderliu/archive/2011/04/25/2026893.html">SearchView預設擴充</a>

SearchView.OnCloseListener

譯者署名:xiaoQLu

版本:Android 3.0 r1

public static interface SearchView.OnCloseListener

android.widget.SearchView.OnCloseListener

public abstract boolean onClose()

  當使用者嘗試關閉SearchView的時候調用本方法。

如果使用者想重寫預設清除文本域的動作,傳回true,否則傳回false。

繼續閱讀