有没有API可以设置限制数量? SearchView 中的字符数?
我正在使用以下代码片段:
TextView et = (TextView) searchView.findViewById(R.id.search_src_text);
et.setFilters(new InputFilter[]{new InputFilter.LengthFilter(10)});
使用此代码,仅当长度小于或等于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;
}
});
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}) });
我正在使用以下代码片段,以防 R.id.search_src_text 未解决:
val searchEdt = searchView.findViewById<EditText>(androidx.appcompat.R.id.search_src_text)
searchEdt.filters = arrayOf(InputFilter.LengthFilter(10))
在 XML 布局中尝试这个..
android:maxLength="20" //20 is number of characters.