Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can we limit the number of character in edittext of SearchView in Android?

Is there any api to set the limit no. of characters in SearchView ?

like image 217
vikash singh Avatar asked Jun 06 '12 12:06

vikash singh


3 Answers

EditText et = (EditText)searchView.findViewById(searchView.getContext().getResources()
            .getIdentifier("android:id/search_src_text", null, null));
    et.setFilters(new InputFilter[] { new InputFilter.LengthFilter({max_text_length}) });
like image 84
Alexander Zhak Avatar answered Oct 12 '22 06:10

Alexander Zhak


I am using following code snippet:

TextView et = (TextView) searchView.findViewById(R.id.search_src_text);
        et.setFilters(new InputFilter[]{new InputFilter.LengthFilter(10)});
like image 26
Alexei Volkov Avatar answered Oct 12 '22 06:10

Alexei Volkov


Use this code it will do search only if length is less or equal to 5.You can make it change accordingly like returning true from onQueryTextChange() when text>5.

    final SearchView searchView = (SearchView) mSearchMenuItem.getActionView();     
          searchView.setSearchableInfo(searchManager.getSearchableInfo(mActivity.getSearchComponentName()));
          searchView.setIconifiedByDefault(true);
          searchView.setSubmitButtonEnabled(true);
          searchView.setOnQueryTextListener(new OnQueryTextListener() {

            @Override
            public boolean onQueryTextSubmit(String arg0) {
                // TODO Auto-generated method stub
                return false;
            }

            @Override
            public boolean onQueryTextChange(String arg0) {
                if(arg0.length()>5){
                    System.out.println("Text character is more than 5");
                    searchView.setQuery(arg0.substring(0,5), false);
                }
                return false;
            }
        });
like image 34
himb2001 Avatar answered Oct 12 '22 05:10

himb2001