使用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 stub
- return 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;
- }
- });
- 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 stub
- return true;
- }
- public boolean onMenuItemActionCollapse(MenuItem item) {
- // TODO Auto-generated method stub
- listView.setVisibility(8);
- return true;
- }
- });
使用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 stub
- return 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;
- }
- });
- 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 stub
- return true;
- }
- public boolean onMenuItemActionCollapse(MenuItem item) {
- // TODO Auto-generated method stub
- listView.setVisibility(8);
- return true;
- }
- });