Android中SearchView的edittext的字符数可以限制吗?

问题描述 投票:0回答:5

有没有API可以设置限制数量? SearchView 中的字符数?

android android-widget
5个回答
13
投票

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

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

7
投票

使用此代码,仅当长度小于或等于5时才会进行搜索。您可以对其进行相应更改,例如当文本> 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;
            }
        });

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

0
投票

我正在使用以下代码片段,以防 R.id.search_src_text 未解决:

val searchEdt = searchView.findViewById<EditText>(androidx.appcompat.R.id.search_src_text)
searchEdt.filters = arrayOf(InputFilter.LengthFilter(10))

-5
投票

在 XML 布局中尝试这个..

 android:maxLength="20" //20 is number of characters.
© www.soinside.com 2019 - 2024. All rights reserved.