SearchView的簡單使用和模擬搜尋
android SearchView其實就是EditView新增了一些方法,可以達到搜尋的功能,首先先看它的佈局檔案,這是v7包下的SearchView
<android.support.v7.widget.SearchView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/find_serach"
app:queryHint="請輸入搜尋的文字"
></android.support.v7.widget.SearchView>
其中queryHint就是預設文字,這裡還可以設定自定義的文字顏色和背景,剩下主要是程式碼部分,我先為大家介紹幾個方法,我親自測試過的:
1.
setIconifiedByDefault()是設定搜尋框是否預設展開;
2.
setSubmitButtonEnabled()是否設定一個提交按鈕;
其他功能看下錶:
SearchView屬性
屬性名稱 | 相關方法 | 描述 |
---|---|---|
android:iconifiedByDefault | setIconifiedByDefault(boolean) | 設定搜尋圖示是否顯示在搜尋框內 |
android:imeOptions | setImeOptions(int) | 設定輸入法搜尋選項欄位,預設是搜尋,可以是:下一頁、傳送、完成等 |
android:inputType | setInputType(int) | 設定輸入型別 |
android:maxWidth | setMaxWidth(int) | 設定最大寬度 |
android:queryHint | setQueryHint(CharSequence) | 設定查詢提示字串 |
監聽方法:
setOnQueryTextListener();
這是監聽我們搜尋時,和搜尋後的方法,它內含兩個方法
onQueryTextSubmit(String query)這是提交時的方法,可以根據你提交的內容進行相應的搜尋操作,
onQueryTextChange(String newText)這是在搜尋框內輸入內容時,可以像百度,淘寶,搜尋時模糊推薦選項,供你選擇;
其他也沒什麼了,接下來看完整程式碼:
public class FindActivity extends AppCompatActivity implements SearchView.OnQueryTextListener { private SearchView searchView; private List<String> data=new ArrayList<>(); private ListView lv; private List<String> arr; @Override protected void onCreate(Bundle savedInstanceState) { getSupportActionBar().hide(); super.onCreate(savedInstanceState); arr = new ArrayList<>(); searchView = (SearchView) findViewById(R.id.find_serach); searchView.setIconifiedByDefault(false); searchView.setSubmitButtonEnabled(true); searchView.setOnQueryTextListener(this); lv = (ListView) findViewById(R.id.lv_query_name); for (int i = 0; i < 10; i++) { arr.add("data"+i); } lv.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, arr)); //給listVIew設定可過濾的操作 lv.setTextFilterEnabled(true); } @Override public boolean onQueryTextSubmit(String query) { //跳轉到手機自帶的瀏覽器百度或者谷歌 Intent intent = new Intent(); intent.setAction(Intent.ACTION_WEB_SEARCH); intent.putExtra(SearchManager.QUERY, query); startActivity(intent); return false; } @Override public boolean onQueryTextChange(String newText) { //判斷是否輸入內容,並進入過濾操作 if(!TextUtils.isEmpty(newText)) { lv.setFilterText(newText); } else { lv.clearTextFilter(); } return false; } }
分享到此結束,請多多指教,希望對你們有些幫助。
相關文章
- 前端實時搜尋框模擬前端
- 模擬百度搜尋
- ElasticSearch 簡單的 搜尋 聚合 分析Elasticsearch
- Elasticsearch 實現簡單搜尋Elasticsearch
- DFS與BFS——理解簡單搜尋(中文虛擬碼+例題)
- Android中SearchView的使用AndroidView
- 百度簡單搜尋PC版玩法攻略 簡單搜尋有電腦版嗎?
- 簡單的模擬(洛谷)
- 【簡單搜尋】POJ 2251 Dugeon MasterAST
- 自制簡單的詩歌搜尋系統
- 強化學習(十八) 基於模擬的搜尋與蒙特卡羅樹搜尋(MCTS)強化學習
- Linux 搜尋檔案和資料夾的 4 種簡單方法Linux
- 簡單模擬死鎖
- sort回撥的簡單模擬
- 模擬簡單的動態代理
- POJ - 2236 Wireless Network (kuangbin - 簡單搜尋)
- EasyFind for Mac操作簡單的檔案搜尋工具Mac
- 使用 Raku 編寫簡單的文字識別模擬程式
- SimpleAISearch:C# + DuckDuckGo 實現簡單的AI搜尋AIC#Go
- 簡單檔案搜尋:Find Any File for MacMac
- 簡單易用的前端模擬資料前端
- 1046 Shortest Distance(簡單模擬)
- 文字獲取和搜尋引擎簡介
- 單詞搜尋
- JS模擬瀏覽器全域性搜尋功能實現JS瀏覽器
- laravel 簡單限制搜尋引擎爬蟲頻率Laravel爬蟲
- 高效的使用搜尋引擎
- VIM 搜尋命令使用方法和技巧
- 基於布穀鳥搜尋的多目標最佳化matlab模擬Matlab
- 基於禁忌搜尋演算法的TSP路徑規劃matlab模擬演算法Matlab
- 使用 json-server 簡單完成CRUD模擬後臺資料JSONServer
- Paramiko模組簡單使用
- Kdevelop的簡單使用和簡單除錯dev除錯
- 搜尋模組功能分析
- 使用Google百度等搜尋引擎的常用搜尋技巧Go
- 79. 單詞搜尋
- 單詞搜尋問題
- python中的itertools模組簡單使用Python
- POJ3087 Shuffle'm Up【簡單模擬】