SearchView原始碼分析

2021-08-22 04:30:49 字數 1082 閱讀 6151

首先我們來看看它的原始碼。

private static final boolean dbg = false;

private static final string log_tag = "searchview";

/*** private constant for removing the microphone in the keyboard.

*/private static final string ime_option_no_microphone = "nm";

private final searchautocomplete msearchsrctextview;

private final view msearcheditframe;

private final view msearchplate;

private final view msubmitarea;

private final imageview msearchbutton;

private final imageview mgobutton;

private final imageview mclosebutton;

private final imageview mvoicebutton;

private final view mdropdownanchor;

我們發現searchview實際上是乙個view的集合,有4個view、imageview,還有一為searchautocomplete。我們重點關注的就是這個叫searchautocomplete的控制項。後面大多數的功能都是圍繞這個控制項展開的。

searchautocomplete控制項是什麼?

searchautocomplete控制項能做什麼?

searchautocomplete的特點就是有自動補全的功能。那麼我們可以通過這個功能做乙個類似自動補全的功能,實際上很多android中的自動補全功能都是通過autocompletetextview來實現的。所以我們可以通過searchautocomplete的這個特性來實現搜尋提示或者歷史記錄功能都可以。

searchview搜尋提示(歷史記錄)的實現

spring原始碼分析 spring原始碼分析

1.spring 執行原理 spring 啟動時讀取應用程式提供的 bean 配置資訊,並在 spring 容器中生成乙份相應的 bean 配置登錄檔,然後根據這張登錄檔例項化 bean,裝配好 bean 之間的依賴關係,為上 層應用提供準備就緒的執行環境。二 spring 原始碼分析 1.1spr...

思科VPP原始碼分析(dpo機制原始碼分析)

vpp的dpo機制跟路由緊密結合在一起。路由表查詢 ip4 lookup 的最後結果是乙個load balance t結構。該結構可以看做是乙個hash表,裡面包含了很多dpo,指向為下一步處理動作。每個dpo都是新增路由時的乙個path的結果。dpo標準型別有 dpo drop,dpo ip nu...

redux原始碼分析(三) 原始碼部分

下面是每個部分的一些解讀 createstore apicreatestore reducer,initialstate enhancer 曾經非常好奇這個函式的第二個引數到底是initialstate還是enhancer,因為見過兩種寫法都有的,以為是版本問題。看了原始碼才發現,都可以的。如果你不...