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 に答える