我们可以限制在Android的搜索查看的EditText上字符的数量?(Can we limit t

2019-06-25 06:19发布

是否有任何的API来没有设置的限制。 在搜索查看角色?

Answer 1:

我使用下面的代码片段:

TextView et = (TextView) searchView.findViewById(R.id.search_src_text);
        et.setFilters(new InputFilter[]{new InputFilter.LengthFilter(10)});


Answer 2:

使用此代码,它会做搜索仅在长度小于或等于5.You可以使相应变化就像从onQueryTextChange()当文本> 5返回true。

    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;
            }
        });


Answer 3:

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}) });


Answer 4:

EditText et = new EditText(this);
int maxLength = 3;
InputFilter[] FilterArray = new InputFilter[1];
FilterArray[0] = new InputFilter.LengthFilter(maxLength);
et.setFilters(FilterArray);


Answer 5:

在XML布局试试这个..

 android:maxLength="20" //20 is number of characters.

它可以帮助你..



文章来源: Can we limit the number of character in edittext of SearchView in Android?