更改searchView阈值
我有一个小问题:我有一个searchView,它与suggestionAdapter一起工作。 问题是searchView开始显示2个字符的结果。 然而,我在代码中的searchable.xml +中将阈值设置为1,但它不起作用。这里的奇妙之处在于,如果我将阈值设置为5,它就可以工作......
Searchable.xml:
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
android:label="@string/city_list_search"
android:hint="@string/city_list_search"
android:searchSuggestThreshold="1">
</searchable>
的Manifest.xml:
<activity
android:name=".activities.HomeActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<action android:name="android.intent.action.SEARCH" />
<meta-data android:name="android.app.searchable"
android:resource="@xml/searchable"/>
</intent-filter>
</activity>
我的片段,我也将阈值设置为1:
AutoCompleteTextView search_text = (AutoCompleteTextView) mSearchView.findViewById(mSearchView.getContext().getResources().getIdentifier("android:id/search_src_text", null, null));
search_text.setThreshold(1);
mSearchView.setIconifiedByDefault(false);
mSearchView.setSearchableInfo(mSearchManager.getSearchableInfo(getActivity().getComponentName()));
我在哪里设置自定义适配器:(调用:public boolean onQueryTextChange(String newText))
public void updateSearchResults() {
mSearchView.setSuggestionsAdapter(new CityListSearchResultAdapter(root.getContext(), mCursor));
}
根据文档,您必须在可搜索的内容中声明searchSuggestAutority:
android:searchSuggestAuthority="com.example.MyCustomSuggestionProvider"
http://developer.android.com/guide/topics/search/adding-custom-suggestions.html
如果您确实想使用suggestionsAdapter来提供数据,请不要在updateSearchResults中调用setSuggestionsAdapter,而只需在onCreate中调用setSuggestionsAdapter,只需更新您的游标即可。 你也可以看看https://gist.github.com/slightfoot/5514856
您可以在v7 Searchview中使用Appcompact活动。 用法如下更改阈值,
AutoCompleteTextView autoCompleteTextView = (AutoCompleteTextView) searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text);
autoCompleteTextView.setThreshold(0);
链接地址: http://www.djcxy.com/p/16593.html