Android搜索框(SearchView)的功能和用法详解
SearchView是搜索框组件,它可以让用户在文本框里输入文字,通过监听器取得用户的输入,当用户点击搜索时,监听器执行实际的搜索。
1、SearchView组件的常用方法如下:
①setIconifiedByDefault(booleaniconified)===>设置搜索框默认是否自动缩小为图标。
②setOnQueryTextListener(SearchView,OnQueryTextListenerlistener)===>为搜索框设置监听器
③setSubmitButtonEnabled(booleanenabled)===>设置是否显示搜索按钮
④setQueryHint(CharSequencehint)===>设置搜索框内的默认显示的提示文本
2、为SearchView增加一个配套的ListView,则可以为其增加自动完成的功能,即ListView用于为SearchView显示自动补齐列表
3、具体实现代码如下:
html
java
importandroid.os.Bundle; importandroid.text.TextUtils; importandroid.widget.ArrayAdapter; importandroid.widget.ListView; importandroid.widget.SearchView; importandroid.widget.Toast; importandroid.app.Activity; publicclassSearchViewTestextendsActivityimplements SearchView.OnQueryTextListener{ privateSearchViewsv; privateListViewlv; //自动完成的列表 privatefinalString[]mStrings={"aaaaa","bbbbbb","cccccc","ddddddd"}; @Override protectedvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.main); lv=(ListView)findViewById(R.id.lv); lv.setAdapter(newArrayAdapter(this,android.R.layout.simple_list_item_1,mStrings)); lv.setTextFilterEnabled(true);//设置lv可以被过虑 sv=(SearchView)findViewById(R.id.sv); //设置该SearchView默认是否自动缩小为图标 sv.setIconifiedByDefault(false); //为该SearchView组件设置事件监听器 sv.setOnQueryTextListener(this); //设置该SearchView显示搜索按钮 sv.setSubmitButtonEnabled(true); //设置该SearchView内默认显示的提示文本 sv.setQueryHint("查找"); } //用户输入字符时激发该方法 @Override publicbooleanonQueryTextChange(StringnewText){ Toast.makeText(SearchViewTest.this,"textChange--->"+newText,1).show(); if(TextUtils.isEmpty(newText)){ //清除ListView的过滤 lv.clearTextFilter(); }else{ //使用用户输入的内容对ListView的列表项进行过滤 lv.setFilterText(newText); } returntrue; } //单击搜索按钮时激发该方法 @Override publicbooleanonQueryTextSubmit(Stringquery){ //实际应用中应该在该方法内执行实际查询 //此处仅使用Toast显示用户输入的查询内容 Toast.makeText(this,"您的选择是:"+query,Toast.LENGTH_SHORT).show(); returnfalse; } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。