我想知道如何实现/创建列表在操作栏上的搜索视图小部件下方查看。最后在输入字符串时过滤列表,就像在Google Play商店中输入字符串一样。
答案 0 :(得分:1)
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
searchView.setIconifiedByDefault(true);
SearchView.OnQueryTextListener textChangeListener = new SearchView.OnQueryTextListener()
{
@Override
public boolean onQueryTextChange(String cs)
{
YourActivity.this.adapter.getFilter().filter(cs);
YourActivity.this.adapter.setTextToFilter(cs);
return false;
}
@Override
public boolean onQueryTextSubmit(String query)
{
YourActivity.this.adapter.getFilter().filter(query);
YourActivity.this.adapter.setTextToFilter(query);
return false;
}
};
searchView.setOnQueryTextListener(textChangeListener);
将此代码放在活动中的oncreateOptionsMenu
中它只能使用arrayadapter
答案 1 :(得分:0)
当您configure a SearchView
时,请致电setSearchableInfo()
。根据{{3}}培训,这涉及添加诸如
android:searchSuggestAuthority="com.example.MyCustomSuggestionProvider"
到searchable.xml
。然后,您必须实现可以处理传入搜索查询的Adding Custom Suggestions。