Android开发中,搜索建议的实现一般采用自定义ContentProvider实现。在做app的过程中为了更简便的实现搜索建议,以字符串的匹配问题为例写了个简单的搜索demo如下所示。SearchView用来监听搜索框的输入、状态、对搜索内容的处理,ListView用来对搜索内容处理结果的动态显示以实现搜索建议的功能,这种方式简单之处在于不用完成输入内容后再提交输入内容进行搜索(这里只是以简单的字符串处理为例,更为智能的搜索建议的提供实现要更复杂),因为你想要的内容在搜索建议中就可以找到,点击它就会进入你搜索的内容。
demo的主Activity如下所示:
public class SearchSuggestDemo extends ListActivity implements SearchView.OnQueryTextListener{
ListView listView; //显示搜索建议
ArrayList<String> list; //数据缓存
ArrayAdapter listAdapter; //采用较为简单的ArrayAdapter适配器
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
}
private void init()