Android 游标适配器未填充SearchView的建议
我有一个字符串元素数组:Android 游标适配器未填充SearchView的建议,android,adapter,searchview,android-cursoradapter,search-suggestion,Android,Adapter,Searchview,Android Cursoradapter,Search Suggestion,我有一个字符串元素数组: suggestion_name = new String[main_data.getJSONArray("cafe").length()]; 它由一些JSON数据填充: for (int i=0; i<suggestion_name.length;i++){ suggestion_name[i] = main_data.getJSONArray("cafe").getJSONObject(i).getString("name")
suggestion_name = new String[main_data.getJSONArray("cafe").length()];
它由一些JSON数据填充:
for (int i=0; i<suggestion_name.length;i++){
suggestion_name[i] = main_data.getJSONArray("cafe").getJSONObject(i).getString("name");
}
并按如下方式填充建议列表:
public void populate(String text){
MatrixCursor matrixCursor = new MatrixCursor(new String[]{ BaseColumns._ID, "cafe_name" });
for (int i=0; i<suggestion_name.length; i++) {
if (suggestion_name[i].toLowerCase().startsWith(text.toLowerCase()))
matrixCursor.addRow(new Object[] {i, suggestion_name[i]});
}
cursorAdapter.changeCursor(matrixCursor);
cursorAdapter.notifyDataSetChanged();
}
然而,当我开始在搜索字段中输入建议数组的元素时,我没有得到任何建议。我调试了好几次,以查看是否有任何代码没有被及时调用/根本没有被调用,但一切都正常工作。我的数组元素不包含任何奇数字母、符号等。我缺少什么?谢谢。快!我忘了设置适配器
searchView.setSuggestionsAdapter(cursorAdapter);
新手犯了我的错误。不管怎样,也许有人觉得代码和解决方法很有用。我读了你的答案,嘲笑了一下,然后意识到我也忘了
设置SuggestionAdapter
。。。
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
// search database for query
getDataMap.search(query);
return true;
}
@Override
public boolean onQueryTextChange(String newText) {
// show suggestions
getDataMap.populate(newText);
return true;
}
});
searchView.setSuggestionsAdapter(cursorAdapter);