Чтобы избежать обсуждения, я изменю этот ответ, если вы предоставите больше информации ...
, но пока ...
у вас есть android:searchSuggestIntentData="content://com.simple.search.SuggestionProvider/tests"
в xml
так что вам нужно изменить
private static UriMatcher makeUriMatcher() {
UriMatcher matcher = new UriMatcher(UriMatcher.NO_MATCH);
// For the record
matcher.addURI(AUTHORITY, "tests", SEARCH_TESTS);
matcher.addURI(AUTHORITY, "tests/#", GET_TEST);
// For suggestions table
matcher.addURI(AUTHORITY, "tests/" + SearchManager.SUGGEST_URI_PATH_QUERY,
SEARCH_SUGGEST);
matcher.addURI(AUTHORITY, "tests/" + SearchManager.SUGGEST_URI_PATH_QUERY + "/*",
SEARCH_SUGGEST);
return matcher;
}
, если вы не видите различий, я добавил "tests /"
, так что теперь он будет соответствовать content://com.simple.search.SuggestionProvider/tests/search_suggest_query?limit=50
, что именно то, что QSB отправит ...
в любом случае вы можете / должны добавить ограничение к вашему запросу
case SEARCH_SUGGEST:
if (selectionArgs == null) {
throw new IllegalArgumentException(
"selectionArgs must be provided for the Uri: " + uri);
}
final String limit = uri.getQueryParameter(SearchManager.SUGGEST_PARAMETER_LIMIT);
return getSuggestions(selectionArgs[0], limit);
, а затем в getSuggestions
helper.getReadableDatabase().query(table, projection,
selection, selectionArgs, null, null, sortOrder, limit);
РЕДАКТИРОВАТЬ :
AUTHORITY + "tests/" + SearchManager.SUGGEST_URI_PATH_QUERY
должно совпадать с android:searchSuggestIntentData
!!!
EDIT2: из документа http://developer.android.com/guide/topics/search/adding-custom-suggestions.html
выбор Значение, указанное вandroid: searchSuggestSelection атрибут вашего файла конфигурации с возможностью поиска или null, если вы не объявили атрибут android: searchSuggestSelection.Подробнее об использовании этого, чтобы получить запрос ниже.selectionArgs Содержит поисковый запрос в качестве первого (и единственного) элемента массива, если вы объявили атрибут android: searchSuggestSelection в конфигурации с возможностью поиска.Если вы не объявили android: searchSuggestSelection, то этот параметр имеет значение null.Подробнее об этом можно узнать ниже.
add android:searchSuggestSelection=" ? "