Adding SearchView in Fragment

前端 未结 7 719
误落风尘
误落风尘 2020-12-14 02:36

Trying to include a searchview in actionbar. For this, I have done the following:

Created MenuSearch.xml in the menu folder as given below:



        
7条回答
  •  失恋的感觉
    2020-12-14 03:23

    Your search_options_menu.xml should look like this:

    
    
        
    
    

    Override onCreateOptionMenu method in your fragment setHasOptionsMenu(true); inside onCreate() on your fragment.

    @Override
        public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
            super.onCreateOptionsMenu(menu, inflater);
           menu.clear();
            inflater.inflate(R.menu.search_option_menu, menu);
            MenuItem item = menu.findItem(R.id.action_search);
                    SearchView searchView = (SearchView) MenuItemCompat.getActionView(menuItem);
            MenuItemCompat.setShowAsAction(item, MenuItemCompat.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW | MenuItemCompat.SHOW_AS_ACTION_IF_ROOM);
            MenuItemCompat.setActionView(item, searchView);
            searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
                @Override
                public boolean onQueryTextSubmit(String query) {
                    return false;
                }
                @Override
                public boolean onQueryTextChange(String newText) {
                        //Do search code here
                    return true;
                }
            });
    
        }
    

提交回复
热议问题