私は Android SearchManager を使用しています。必要なすべての属性を searchable.xml に定義しました。
ここで、ユーザーが検索を行う前に、最小文字数に制限を設定したいと思います。デフォルトでは、最小値は 1 です。
これはどのように変更できますか?
ありがとうございました。
私は Android SearchManager を使用しています。必要なすべての属性を searchable.xml に定義しました。
ここで、ユーザーが検索を行う前に、最小文字数に制限を設定したいと思います。デフォルトでは、最小値は 1 です。
これはどのように変更できますか?
ありがとうございました。
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;
}
});
}
searchable.xmlの次の属性
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
...
android:searchSuggestThreshold="2"
>
</searchable>