android actionbar searchview搜索提示

来源:互联网 发布:淘宝的宣传海报尺寸 编辑:程序博客网 时间:2024/05/16 06:52


使用listview作为搜索提示显示容器,这里需要几个东西

1:searchview文字改变事件时后台查询然后填充到listview并显示出来

MenuItem searchItem = menu.findItem(R.id.action_search);      SearchView searchView = (SearchView) searchItem.getActionView();          searchView.setOnQueryTextListener(new OnQueryTextListener () //搜索时会触发这个事件搜索即可    {public boolean onQueryTextSubmit(String query) {// TODO Auto-generated method stubreturn false;}public boolean onQueryTextChange(String newText) {if(newText!="") {listView.setVisibility(0);        Object[] names = new Object[]{newText,"cz0","aj","xd","jl","mm"};        listView.setAdapter(new ArrayAdapter<Object>(getActivity().getApplicationContext(),            android.R.layout.simple_expandable_list_item_1, names));  }return false;}      });
2:当listview触摸时隐藏掉输入键盘,不然控件会很少
listView.setOnTouchListener(new OnTouchListener(){public boolean onTouch(View v, MotionEvent event) {// TODO Auto-generated method stub((InputMethodManager)getActivity().getSystemService(Context.INPUT_METHOD_SERVICE)).    hideSoftInputFromWindow(getActivity().getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);return false;}        });

3:当searchview搜索完毕时隐藏掉listview

searchItem.setOnActionExpandListener(new android.view.MenuItem.OnActionExpandListener() {public boolean onMenuItemActionExpand(MenuItem item) {// TODO Auto-generated method stubreturn true;}public boolean onMenuItemActionCollapse(MenuItem item) {// TODO Auto-generated method stublistView.setVisibility(8);return true;}           });






0 0
原创粉丝点击