10

是否有任何api来设置限制号。SearchView 中的字符数?

4

5 回答 5

12

我正在使用以下代码片段:

TextView et = (TextView) searchView.findViewById(R.id.search_src_text);
        et.setFilters(new InputFilter[]{new InputFilter.LengthFilter(10)});
于 2016-04-11T11:59:24.850 回答
7
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}) });
于 2014-08-22T23:54:40.103 回答
7

使用此代码,仅当长度小于或等于 5 时才会进行搜索。您可以使其相应更改,例如当 text>5 时从 onQueryTextChange() 返回 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;
            }
        });
于 2013-04-16T09:28:50.253 回答
-1
EditText et = new EditText(this);
int maxLength = 3;
InputFilter[] FilterArray = new InputFilter[1];
FilterArray[0] = new InputFilter.LengthFilter(maxLength);
et.setFilters(FilterArray);
于 2012-06-06T12:51:35.023 回答
-4

在 xml 布局中试试这个..

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

它可能会帮助你..

于 2012-06-06T13:01:12.357 回答