1

我正在使用 Android SearchManager。我在 searchable.xml 中定义了所有需要的属性。

现在,我想在用户进行搜索之前设置最小字符数限制。默认情况下,最小值为 1。

这怎么能改变?

谢谢你。

4

2 回答 2

4

如果 onQueryTextSubmit 返回 false 则只有搜索操作正在执行,我们可以像这样限制字符

    @Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        super.onCreateOptionsMenu(menu, inflater);
        inflater.inflate(R.menu.menu_home, menu);

        // Get the SearchView and set the searchable configuration
        SearchManager searchManager = (SearchManager)getActivity().getSystemService(Context.SEARCH_SERVICE);
        SearchView searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView();
        // Assumes current activity is the searchable activity
        searchView.setSearchableInfo(searchManager.getSearchableInfo(getActivity().getComponentName()));
        //searchView.setIconifiedByDefault(false); // Do not iconify the widget; expand it by default

        searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
            @Override
            public boolean onQueryTextSubmit(String query) {
                return query.length()<4; //number of char to limit
            }

            @Override
            public boolean onQueryTextChange(String newText) {
                return false;
            }
        });

    }
于 2015-09-19T05:52:20.973 回答
3

它在 searchable.xml 中的以下属性

<searchable xmlns:android="http://schemas.android.com/apk/res/android"
  ...
  android:searchSuggestThreshold="2"
  >
</searchable>
于 2012-05-31T12:04:45.190 回答