安卓自学笔记:12:用SearchView创建一个搜索框

来源:互联网 发布:图片服务器 windows 编辑:程序博客网 时间:2024/05/17 22:01

主代码:

public class MainActivity extends Activity implementsSearchView.OnQueryTextListener {private SearchView search;private ListView list;private String[] arr = { "aaaaa", "bbbbbb", "ccccccc" };@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);search = (SearchView) findViewById(R.id.search);list = (ListView) findViewById(R.id.list);list.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,arr));list.setTextFilterEnabled(true);// 设置SearchView是否自动缩小图标search.setIconifiedByDefault(false);// 设置SearchView的监听事件search.setOnQueryTextListener(this);// 设置SearchView显示搜索框search.setSubmitButtonEnabled(true);// 设置SearchView搜索框内的默认显示search.setQueryHint("搜索");}@Overridepublic boolean onQueryTextSubmit(String query) {// TODO Auto-generated method stubToast.makeText(this, "您选择的是" + query, Toast.LENGTH_SHORT).show();return false;}@Overridepublic boolean onQueryTextChange(String newText) {// 用户输入字符时激活该方法if (TextUtils.isEmpty(newText)) {// 清除ListView的过滤list.clearTextFilter();} else {// 是用用户输入的内容对ListView的列表项进行过滤list.setFilterText(newText);}return true;}}


 

xml:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >    <SearchView        android:id="@+id/search"        android:layout_width="wrap_content"        android:layout_height="wrap_content" >    </SearchView><ListView     android:id="@+id/list"    android:layout_width="match_parent"    android:layout_height="10px"    android:layout_weight="1"    ></ListView></LinearLayout>


效果图:

0 0
原创粉丝点击